setup.py: add update_po command
This commit is contained in:
		
							parent
							
								
									864e572584
								
							
						
					
					
						commit
						3e80707eee
					
				
					 2 changed files with 44 additions and 0 deletions
				
			
		
							
								
								
									
										1
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							| 
						 | 
					@ -12,6 +12,7 @@ data/org.gajim.Gajim.appdata.xml
 | 
				
			||||||
data/org.gajim.Gajim.desktop
 | 
					data/org.gajim.Gajim.desktop
 | 
				
			||||||
libtool
 | 
					libtool
 | 
				
			||||||
po/.intltool-merge-cache
 | 
					po/.intltool-merge-cache
 | 
				
			||||||
 | 
					po/gajim.pot
 | 
				
			||||||
po/POTFILES
 | 
					po/POTFILES
 | 
				
			||||||
po/stamp-it
 | 
					po/stamp-it
 | 
				
			||||||
stamp-h1
 | 
					stamp-h1
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										43
									
								
								setup.py
									
										
									
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										43
									
								
								setup.py
									
										
									
									
									
										
										
										Executable file → Normal file
									
								
							| 
						 | 
					@ -20,6 +20,35 @@ pos = [x for x in os.listdir('po') if x[-3:] == ".po"]
 | 
				
			||||||
ALL_LINGUAS = sorted([os.path.split(x)[-1][:-3] for x in pos])
 | 
					ALL_LINGUAS = sorted([os.path.split(x)[-1][:-3] for x in pos])
 | 
				
			||||||
cwd = os.path.dirname(os.path.realpath(__file__))
 | 
					cwd = os.path.dirname(os.path.realpath(__file__))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def update_trans():
 | 
				
			||||||
 | 
					    '''
 | 
				
			||||||
 | 
					    Update translation files
 | 
				
			||||||
 | 
					    '''
 | 
				
			||||||
 | 
					    template = os.path.join('po', 'gajim.pot')
 | 
				
			||||||
 | 
					    files = [os.path.join(root, f) for root, d, files in os.walk('gajim') for f in files if os.path.isfile(
 | 
				
			||||||
 | 
					        os.path.join(root, f)) and (f.endswith('.py') or f.endswith('.ui'))]
 | 
				
			||||||
 | 
					    files.append(os.path.join("data", "gajim-remote.desktop.in"))
 | 
				
			||||||
 | 
					    files.append(os.path.join("data", "org.gajim.Gajim.desktop.in"))
 | 
				
			||||||
 | 
					    files.append(os.path.join("data", "org.gajim.Gajim.appdata.xml.in"))
 | 
				
			||||||
 | 
					    cmd = 'xgettext --from-code=utf-8 -o %s %s' % (
 | 
				
			||||||
 | 
					        template, " ".join(files))
 | 
				
			||||||
 | 
					    if os.system(cmd) != 0:
 | 
				
			||||||
 | 
					        msg = "ERROR: %s could not be created!\n" % template
 | 
				
			||||||
 | 
					        raise SystemExit(msg)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    for lang in ALL_LINGUAS:
 | 
				
			||||||
 | 
					        po_file = os.path.join('po', lang + '.po')
 | 
				
			||||||
 | 
					        cmd = 'msgmerge -U %s %s' % (po_file, template)
 | 
				
			||||||
 | 
					        if os.system(cmd) != 0:
 | 
				
			||||||
 | 
					            msg = 'ERROR: Updating language translation file failed.'
 | 
				
			||||||
 | 
					            ask = msg + '\n Continue updating y/n [n] '
 | 
				
			||||||
 | 
					            reply = input(ask)
 | 
				
			||||||
 | 
					            if reply in ['n', 'N']:
 | 
				
			||||||
 | 
					                raise SystemExit(msg)
 | 
				
			||||||
 | 
					        log.info('Updating %s', po_file)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def build_trans(build_cmd):
 | 
					def build_trans(build_cmd):
 | 
				
			||||||
    '''
 | 
					    '''
 | 
				
			||||||
    Translate the language files into gajim.mo
 | 
					    Translate the language files into gajim.mo
 | 
				
			||||||
| 
						 | 
					@ -157,6 +186,19 @@ class test_nogui(test):
 | 
				
			||||||
    def run(self):
 | 
					    def run(self):
 | 
				
			||||||
        os.system("./test/runtests.py -n")
 | 
					        os.system("./test/runtests.py -n")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class update_po(Command):
 | 
				
			||||||
 | 
					    description = "Update po files"
 | 
				
			||||||
 | 
					    user_options = []
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def initialize_options(self):
 | 
				
			||||||
 | 
					        pass
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def finalize_options(self):
 | 
				
			||||||
 | 
					        pass
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def run(self):
 | 
				
			||||||
 | 
					        update_trans()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package_data_activities = ['data/activities/*/*/*.png']
 | 
					package_data_activities = ['data/activities/*/*/*.png']
 | 
				
			||||||
package_data_emoticons = ['data/emoticons/*/emoticons_theme.py',
 | 
					package_data_emoticons = ['data/emoticons/*/emoticons_theme.py',
 | 
				
			||||||
| 
						 | 
					@ -209,6 +251,7 @@ setup(
 | 
				
			||||||
        'build_py': build,
 | 
					        'build_py': build,
 | 
				
			||||||
        'test': test,
 | 
					        'test': test,
 | 
				
			||||||
        'test_nogui': test_nogui,
 | 
					        'test_nogui': test_nogui,
 | 
				
			||||||
 | 
					        'update_po': update_po,
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    scripts = [
 | 
					    scripts = [
 | 
				
			||||||
        'scripts/gajim',
 | 
					        'scripts/gajim',
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue