Fisierele UGI
1


Radu Baciu (4 iunie 2002, a reactionat Mirel Florescu) :

cine stie cu ce se citeste (sau mai bine cum se transforma in .sgf) fisierele .ugi ?


Mirel Florescu (4 iunie 2002, reactie la Radu Baciu, au reactionat Tiberiu Gociu-Musat si Radu Baciu) :

Stiu eu! :)

Mergi la pagina asta: http://www.edu.isy.liu.se/~tombo479/converters.html si trebuie sa faci asa:

  1. Copiezi fisierul in .ugi pe hard.
  2. Schimbi extensia din .ugi in .txt
  3. Mergi pe pagina de mai sus la "convert ugf>sgf"
  4. Copy si paste la tot ce contine fisierul .txt de pe hardul tau in fereastra care converteste
  5. Iei inapoi ce textul convertit
  6. Deschizi un fisier .txt
  7. Transferi in el textul convertit.
  8. Schimbi extensia in .sgf
  9. Gata :)

Sau, iei un viewer pentru ugf/ugi care ar fi PandaEgg si cu care poti vedea toate partidele de la Mondiale. iti arata si cine cu ce joaca si ce vorbesc baietii pe IGS..nu stiu de ce. ;)


Tiberiu Gociu-Musat (4 iunie 2002, reactie la Mirel Florescu) :

n-a mers! :-))
Dar l-am convertit eu!
In fisier la RESULT scrie W+58.5... Popicu' la desfiintzat pe italian?!?!?

Am folosit un progamel dat jos de pe la japonezi!
Cine easte interesat, sa ma contacteze pe personala!


Mihai Petre Bisca (4/5 iunie 2002) :

Salut baieti,

fiindca formatul asta ugi e cam ugly :-) am scris io acusi un mic converter ugi - sgf in python:

--------------------
#!/usr/bin/python

import string, sys, os.path

data_flag = ''

if len(sys.argv) == 1 :
f = sys.stdin
elif os.path.exists(sys.argv[1]) :
f = open (sys.argv[1],'r')
try :
line_list = f.readlines()
except NameError:
sys.exit(1)

print "(;"
for line in line_list:
if data_flag == 'move' :
move_list = string.split(line,",")
if move_list[1] == 'B1':
print ";B[" + string.lower(move_list[0])\ + "]"
elif move_list[1] == 'W1':
print ";W[" + string.lower(move_list[0])\ + "]"
if data_flag == 'head' :
head_list = string.split(line,'=')
if head_list[0] == 'Winner':
print "RE[" + string.rstrip(head_list[1])\ + "]"
elif head_list[0] == 'PlayerB':
print "PB[" + \ string.split(head_list[1],',')[0]
+ "]"
elif head_list[0] == 'PlayerW':
print "PW[" + \ string.split(head_list[1],',')[0]
+ "]"
if string.rstrip(line) == '[Data]':
data_flag = 'move'
elif string.rstrip(line) == '[Header]':
data_flag = 'head'

print ")"
f.close()
--------------------

Se foloseste in felul urmator. Sa zicem ca-l salvati ca un executabil cu denumirea "ugi2sgf.py". Atunci in Linux veti putea scrie:

ugi2sgf.py fisier.ugi > fisier.sgf

sau in stil traditional UNIX:

cat fisier.ugi | ugi2sgf.py > fisier.sgf

In Windows ar merge daca aveti Python instalat, dar n-am idee cum :-) Oricum ar trebui schimbata calea din prima linie. O sa-l pun si pe net dar nu azi...

Mihai.
PS: Python rules


Iulian Dragomir (7 iunie 2002, a reactionat Mihai Lit, a reactionat Mihai Petre Bisca) :
  1. felicitari pt. popicu!
  2. (a reactionat Mihai Petre Bisca)
    am instalat python, insa nu am reusit (inca) sa-l folosesc la conversie
  3. asa ca am folosit tot vechiul convertor, pe care il atasez)
    (ugf2sgf.exe in ugf2sgf.zip)
  4. felicitari, radu, pt. pagina web


    Mihai Lita (8 iunie 2002, reactie la Iulian Dragomir, a reactionat Iulian Dragomir) :
  1. din nou felicitari pentru popicu' ! :))
  2. am incercat sa folosesc ugftosgf insa nu am reusit
  3. da-ne si noua niste instructiuni de folosire, iulian.Plz !
  4. felicitari radu, ptr. pagina web !

MihaiL

PS ne vedem cu la cupa Compaq, bine ?


Iulian Dragomir (8 iunie 2002, reactie la Mihai Lita) :

re PS: da, ne vedem la cupa Compaq, neaparat!

re 2. de fapt, este ugf2sgf, executabilul mai mic, trimis in al doilea pachet, pe ugftosgf l- am trimis din greseala

re 3. se foloseste linia de comanda Ugf2sgf.exe [nume fisier] (in wincommander e simplu, cu ^+enter, altfel trebuie folosit "run" sau sub dos) de pilda: Ugf2sgf.exe 1-04-39.ugi

(nu suporta decit 8+3 caractere, de aceea le-am redenumit; pt redenumire, in wincommander - selectie si ^+T)

mult mai mult mi-ar placea, insa, daca as putea folosi converterul lui Mihai Bisca, cine stie cum e cu python sub windows ne-ar putea da un mic ajutor, nu de alta, dar parca e pacat "sa ramii la toate rece" :-) adica mihai a muncit la el, iar noua nici nu ne pasa...

daca python si linia de comanda sint prea complicata, este o adresa la care se pot transforma ugi (ugf, de fapt, de-aia nu iese la cautare) in sgf:
http://www.figg.org/ugf/
mult mai simplu decit la adresa cealalta


Mihai Petre Bisca (8 iunie 2002, reactie la Iulian Dragomir, a reactionat Sorin Gherman) :

(reactie la Iulian Dragomir)

De ce ? Folosesti Windows sau Linux ? Convertorul meu functioneaza, e testat pe partidele de la WAGC si e mult mai mic decit celalalt. Daca folosesti Windows e nevoie sa editezi un pic scriptul (prima linie) pentru a-l face sa se potriveasca cu modul in care e python instalat (adica sa-i indici calea unde gaseste executabilul python).

A, si uitandu-ma pe modul in care s-a transmis scriptul in mesajul anterior cred ca e nevoie si sa stergi toate caracterele backslash, (care sunt puse pentru a continua o linie de cod pe rindul urmator, dar dau erori daca rindul nu se termina dupa ele).

Mihai.
PS: n-are nimic daca nu poti sa-l faci sa mearga, pentru mine a fost doar un exercitiu (placut :-), sa vad cit de mic pot sa fac un convertor care sa fie rezonabil de robust si sa se descurce cu acele fisiere ugi (singurele pe care le-am vazut). Nu stiu de pilda cum ar arata un fisier ugi cu variante...


Sorin Gherman (8 iunie 2002, reactie la Mihai Petre Bisca) :

Pot sa certific si eu ca merge foarte bine (cel putin pentru fisiere fara variante, cum zice si Mihai). Doar ca a trebuit sa sterg caracterele "\" si sa mai concatenez niste linii.
Mihai, problema a fost (in cazul meu) ca l-ai varsat direct in continutul mesajului, eu imi citesc posta folosind web-browserul, care practic l-a reindentat. Sau copy-paste din browser e de vina, nu stiu sigur. In orice caz, din windows merge asa (de exemplu):
> python ugi2sgf.py go/worldama24-4-05-19.ugi dupa ce fisierul a fost salvat ca: ugi2sgf.py (ugi2sgf.py in ugi2sgfpy.zip)

O sa atasez la mesajul asta fisierul modificat, sper sa mearga de data asta downloadat direct.
Si vorba americanului, "use at your own risk" :)


Top
Index de intrebari