Har bedrevet sommeren med å lage en ny og forbedret utgave av Transpo, skrevet fra bunnen av i Python. Nå er jeg lei av å skrive på det alene, og ville gjerne også sett hva som er aktuelt å gjøre med det. Så derfor sender jeg det ut til allmen fornøyelse.
Det var et par ting jeg ville prøve ut, så koden er nok blitt mer omfattende enn strengt nødvendig, men på andre siden ser jeg allerede flere utvidelser som kan gjøres uten alt for omfattende inngripen.
En er å kunne tilbakedatere po-filene fra de ganske omfattende fuzzy-merknadene som blir gjort når strengene endres. En annen er, man kan skrive ganske mange forskjellige verktøy på bibliotekene jeg har laget.
Dette er neppe en fullstendig liste over forbedringer, men kort fra hodet: * I18n-problemer er løst. Ordlistene regnes som UTF-8 hvis ikke annet er oppgitt (Og kan legge inn en spesialkommentar i ordlistene hvis du vil ha noe annet. * Du kan også endre tegnsett (UTF-8 <-> ISO-LATIN1 osv) på po-filene. * Ikke noe tekst blir oversatt to ganger. * Opplysninger om hvilke ordlister som finnes, hvor de ligger og hva de skal kalles, legges i konfigurasjonsfiler. «/etc/transpo.conf», «~/.transpo.conf» og tilsvarende i mappene der dataene ligger. * Ved å legge konfigurasjonsfiler på de rette stedene i mappestrukturen kan du gi standardverdier for hvordan jobben skal gjøres. * Transpo er blitt ganske god på ombrekking av linjer. * Du kan brekke om linjer, endre tegnsett eller gjøre andre ting med po-filene uten å oversette. La være å oppgi noen ordliste (eventuelt oppgi ordlista '' på kommandolinja hvis konfigurasjonsfilene gir deg en standardordliste).
På den andre siden er ikke programmet helt avluset ennå. Først og fremst er det lesing og tolking av kommandolinje, konfigurasjonsfil osv. som ikke er helt gjennomarbeidet. Det ligger ved noen testprogrammer, men det kan hende de er litt utdatert.
Foreløpig er alt tilgjengelig i katalogen ~harald/prog/transpo på user.skolelinux.no, og hvis Eskil kunne minne meg på hvor dette skulle legges ellers hadde det vært fint.
«transpo.py» leser konfigurasjonsfiler, kommandolinje og setter det hele i gang. «libPoDict.py» leser og håndterer ordlister. «libPoIO.py» tar seg av lesing og skriving av Po-filer. «WorkQueue.py» er ment å brukes også utenfor Transpo. Håndterer asynkron håndtering av arbeidsoppgaver. Oppgavene samles i køer, utføres parallelt i et gitt antall tråder og legges tilbake i køer når de er utført. Transpo bruker dette til å lese / skrive flere filer samtidig, men det kan også brukes i databasetilkoblinger og annet. Kan utvides til å håndtere parallelle prosesser, kanskje til og med maskiner. En kort «storm» utnytter disk mm. bedre enn lengre kjøring av bare en tråd, så hvis det gjøres med måte skulle det kunne være en fordel.
Er det noe jeg har glemt? Sikkert en hel masse. Så skriv hvis det er noe.
Lykke til! Harald
Harald Thingelstad skreiv:
Er det noe jeg har glemt? Sikkert en hel masse. Så skriv hvis det er noe.
Du skreiv ikkje kva noko om kva Transpo *er*. Det kunne vera kjekt å veta for oss som ikkje har hørt om programmet før.