forked from pool/rpmlint
49 lines
1.4 KiB
Python
49 lines
1.4 KiB
Python
# vim:sw=4:et
|
|
#---------------------------------------------------------------
|
|
# Module : rpmlint
|
|
# File : DesktopTranslationCheck.py
|
|
# Author : Dirk Mueller
|
|
# Purpose : Check for untranslated desktop files
|
|
#---------------------------------------------------------------
|
|
|
|
from Filter import *
|
|
import AbstractCheck
|
|
import rpm
|
|
import re
|
|
import commands
|
|
import Config
|
|
|
|
desktop_re=re.compile('(services|applets)/.*\.desktop$')
|
|
|
|
class DesktopCheck(AbstractCheck.AbstractFilesCheck):
|
|
def __init__(self):
|
|
AbstractCheck.AbstractFilesCheck.__init__(self, "DesktopCheck", ".*\.desktop$")
|
|
|
|
def check_file(self, pkg, filename):
|
|
if pkg.isSource() or filename in pkg.ghostFiles():
|
|
return
|
|
|
|
try:
|
|
f = open(pkg.dirName() + '/' + filename)
|
|
except Exception, e:
|
|
printWarning(pkg, "read-error", e)
|
|
return 0
|
|
|
|
found_desktop_group=False
|
|
for line in f:
|
|
if line.startswith('X-SuSE-translate='):
|
|
return
|
|
if line.startswith('[Desktop Entry]'):
|
|
found_desktop_group=True
|
|
if found_desktop_group:
|
|
printWarning(pkg, "untranslated-desktop-file", filename)
|
|
|
|
check=DesktopCheck()
|
|
|
|
if Config.info:
|
|
addDetails(
|
|
'untranslated-desktop-file',
|
|
"""Your desktop file hasn't been handled by %suse_update_desktop_file
|
|
Please use it to make the desktop file translate-able by Novell translations."""
|
|
)
|