Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: karlitos 02 Června 2011, 14:43:24
-
Zdravim
Snazim se zprovoznit skript na hromadne prejmenovani v Nautilu. Skript jsem vzal odsud (https://launchpad.net/nautilus-renamer) jenze mi to pri instalaci hazi chyby :
sudo make globalinstall./scripts/install
Creating /usr/share/locale/de/LC_MESSAGES/nautilus-renamer.mo ...
Traceback (most recent call last):
File "./scripts/install", line 22, in <module>
genmo.gen_mo_files (os.path.join (top_dir, 'po'), LOCALE_DIR)
File "/home/leni/.local/share/Trash/files/nautilus-renamer/scripts/genmo.py", line 27, in gen_mo_files
subprocess.call(['msgfmt', '-o', mopath, popath])
File "/usr/lib/python2.6/subprocess.py", line 470, in call
return Popen(*popenargs, **kwargs).wait()
File "/usr/lib/python2.6/subprocess.py", line 623, in __init__
errread, errwrite)
File "/usr/lib/python2.6/subprocess.py", line 1141, in _execute_child
raise child_exception
OSError: [Errno 2]
Problem je v tom instalacnim skriptu genmo.py, jenze me to nic nerika. Tady je ten skript :
#!/usr/bin/env python
import os;
import sys;
import re;
import subprocess;
def gen_mo_files (podir, localedir):
pattern = re.compile('^([a-zA-Z_]+)\.po$')
for pofile in sorted (os.listdir(podir)):
matches = pattern.match (pofile)
if matches:
poname, ext = os.path.splitext (pofile)
modir = os.path.join (localedir, poname, 'LC_MESSAGES')
if not os.path.exists (modir):
print "Creating directory %s ..." % modir
os.makedirs (modir)
popath = os.path.join (podir, pofile)
mopath = os.path.join (modir, 'nautilus-renamer.mo')
print "Creating %s ..." % mopath
subprocess.call(['msgfmt', '-o', mopath, popath])
if __name__ == "__main__":
if len (sys.argv) != 3:
print "Usage: %s @podir @localedir" % sys.argv[0]
sys.exit (1)
podir = sys.argv[1]
localedir = sys.argv[2]
gen_mo_files (podir, localedir)
Bohuzel me chabe znalosti pythonu mi nerikaji kde je chyba, tak kdyby ji nekdo rozpoznal a poradil budu moc rad. Diky K
-
http://docs.python.org/library/exceptions.html
OSError podľa tohto hovorí, že chyba nastala u procesu, ktorý vytvoril (tedy u msgfmt).
I keď môžem sa aj mýliť (so subprocess som nikdy nepracoval).
-
Diky za snahu, nevim co to zpusobovalo. Ten skript mi sel nainstalovat na jinem pocitaci, v terminalu to vypsalo kam to hazi ktere soubory tak jsem je analogicky zkopiroval na ten prvni pocitac a uz to funguje, takze neresim.