Šta je novo?

Kako pythonom da editujem javascript fajl?

DeletedUser

Banned
Banovan
Učlanjen(a)
12.07.2013
Poruke
675
Poena
195
Napravio sam neki obican muzicki plejer za licnu upotrebu, radi na cistom js-u, ali mu treba nekako dostaviti listu svih fajlova kako bi znao koje sve pesme moze da pusta. Pesama ima preko 1000 tako da nema nista od toga da ih rucno pisem u js array. Javascript po mom razumevanju ne moze da procita ove fajlove jer je client-side language.

Koliko ja shvatam za to bi bilo dobro imati neki back-end tipa node.js ili databazu i tome slicno, ali ja otisao linijom manjeg otpora:

Napravio skriptu na linuxu
Kod:
ls >> allsongs.txt
i onda taj fajl citam sa python-om i stavljam u najobicniji list. Koji je sad najlaksi nacin da nekako prosledim tu listu u .js fajl?
Padaju mi na pamet 1 opcija, da koristim sirovi read/write u python-u i direktno upisem potreban kod sa listom u .js fajl, ali mi ovo zvuci kao ruzno resenje, mora da postoji nesto elegantnije?
 
Elegantnije ti je da imas neki Web server i neku skriptu kojoj pristupa iz js-a preko ajaxa. E sad to meni sve ne zvuči previše logično ako je sve to na tvojoj mašini. Instaliraj bilo koji media player i slušaj muziku 😀
 
Elegantnije ti je da imas neki Web server i neku skriptu kojoj pristupa iz js-a preko ajaxa. E sad to meni sve ne zvuči previše logično ako je sve to na tvojoj mašini. Instaliraj bilo koji media player i slušaj muziku 😀
Pa upravo to i imam (web server), a treba mi zato sto koristim tu muziku na raznim lokacijama iz sveta sa raznih uredjaja. Ovo sa pristupom preko ajaxa sam probao, to jest da pristupim ovom .txt fajlu, ali mi daje CORS (cross origin resource sharing) error koji ne znam bas kako da resim.

Web server folder sa svim fajlovima je ovde: http://mw7.no/m/

EDIT: Ovaj CORS me bas zbunjuje, posto ja pristupam fajlu na istom serveru, to ne bi trebalo da bude "cross origin".
 
Poslednja izmena:
Fajl iz klijentskog JS koda nije moguce automatski procitati bez eskalacije na UI (input, directory/filepicker, itd.). Znaci, mora postojati element na UI sa cijom interakcijom se dobija inicijalni file ili dir handle, a posle korisnickog inputa. A CORS gresku verovatno dobijas zato sto je eksplicitno zabranjeno raditi fetch sa file:/// protokolom "Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https"
 
Shvatam, evo uspelo je sad Ajax-om, najelgantnije resenje :)
 
Inace nemas razlog da pravis taj fajl uopste, samo ti treba API endpoint koji ce da ti vraca iste te podatke, a usput neces morati svaki put da editujes fajl kad se promeni lista pesama.
 
Nazad
Vrh Dno