Page 1 of 1
Python API pentru boardgamegeek.com
Posted: 13 Aug 2014, 10:45
by lcosmin
Dacă e cineva programator Python, am rescris un modul pentru a accesa ușor
http://www.boardgamegeek.com. Îl puteți instala cu:
Feedback welcome

Re: Python API pentru boardgamegeek.com
Posted: 13 Aug 2014, 11:24
by andreimic
lcosmin wrote:Dacă e cineva programator Python, am rescris un modul pentru a accesa ușor
http://www.boardgamegeek.com
[...]
Feedback welcome

Am văzut că e bazat pe cel scris de philsstein,
libBGG; cum e diferit al tău?
libBGG e folosit de cei de pe
/r/boardgames pentru
topul lor. Dacă e interes, am putea face ceva asemănător și pentru FBG. M-am mai gândit câteodată, dar din lipsă de motivație nu am mișcat nimic. De asemenea, există și tabelele făcute de suf și nu știu câtă valoare ar fi adus o schimbare.
Re: Python API pentru boardgamegeek.com
Posted: 13 Aug 2014, 11:34
by lcosmin
andreimic wrote:lcosmin wrote:Dacă e cineva programator Python, am rescris un modul pentru a accesa ușor
http://www.boardgamegeek.com
[...]
Feedback welcome

Am văzut că e bazat pe cel scris de philsstein,
libBGG; cum e diferit al tău?
libBGG e folosit de cei de pe
/r/boardgames pentru
topul lor. Dacă e interes, am putea face ceva asemănător și pentru FBG. M-am mai gândit câteodată, dar din lipsă de motivație nu am mișcat nimic. De asemenea, există și tabelele făcute de suf și nu știu câtă valoare ar fi adus o schimbare.
Da, am plecat de la libBGG și l-am rescris în proporție destul de mare. Motivele au fost mai multe, în principal nu mi-a plăcut felul în care era programat (chestii de coding style), nu mergea pe Python 2.x, erau ceva probleme (de ex., API-ul BGG îți dă un mesaj de genul "try later" când încerci să listezi o colecție; libBGG reîncerca operația până găsea niște joace în răspuns - <item type="boardgame"> dar nu trata corect cazul când userul pur și simplu n-avea jocuri acolo).
Alte lucruri modificate: am folosit requests în loc de urllib, am scos cache-ul ăla din libBGG (care mi se părea urât) și l-am înlocuit cu requests-cache (care se integrează direct cu requests) și cam atât cred... (TL;DR: nu mi-a plăcut cum era scris originalul

)
EDIT: A, și ca idee de viitor, ar fi interesant de suportat și celelate site-uri din familia BGG.