def test_GetLanguage(): assert Utils.GetLanguage(['en_GB',]) == "en" assert Utils.GetLanguage(['en_US',]) == "en" assert Utils.GetLanguage(['fr_CA',]) == "fr" assert Utils.GetLanguage(['fr_FR',]) == "fr" assert Utils.GetLanguage(['it_IT',]) == "it" assert Utils.GetLanguage(['en',]) == "en" assert Utils.GetLanguage([None,None]) == "en"
def generatePPD(self): """Generates a PPD string for this printer.""" defaultlocale = locale.getdefaultlocale() language, newlocale = Utils.GetLanguage(defaultlocale, self._cupsHelper) defaultpapertype = Utils.GetDefaultPaperType(newlocale) ppd = self._PPD_TEMPLATE_HEAD % { 'language': language, 'defaultpapertype': defaultpapertype, 'ieee1284': self.getIEEE1284(), 'ppdname': self.getPPDName() } if self['capabilities'] is not None: addedCapabilities = [] for capability in self['capabilities']: originCapabilityName = None internalCapabilityName = \ self._getInternalName(capability, 'capability', None, addedCapabilities) addedCapabilities.append(internalCapabilityName) if 'displayName' in capability and len( capability['displayName']) > 0: originCapabilityName = self._sanitizeText( capability['displayName']) elif 'psk:DisplayName' in capability and len( capability['psk:DisplayName']) > 0: originCapabilityName = self._sanitizeText( capability['psk:DisplayName']) else: originCapabilityName = self._sanitizeText( capability['name']) if capability['type'] == 'Feature': ppd += '*OpenUI *%s/%s: PickOne\n' % \ (internalCapabilityName, internalCapabilityName) # translation of capability, allows use of 8 # bit chars ppd += '*%s.Translation %s/%s: ""\n' % \ (language, internalCapabilityName, originCapabilityName) addedOptions = [] for option in capability['options']: originOptionName = None if 'displayName' in option and len( option['displayName']) > 0: originOptionName = self._sanitizeText( option['displayName']) elif 'psk:DisplayName' in option and len( option['psk:DisplayName']) > 0: originOptionName = self._sanitizeText( option['psk:DisplayName']) else: originOptionName = self._sanitizeText( option['name']) internalOptionName = self._getInternalName( option, 'option', capability['name'], addedOptions) addedOptions.append(internalOptionName) if 'default' in option and option['default']: ppd += '*Default%s: %s\n' % ( internalCapabilityName, internalOptionName) ppd += '*%s %s:%s\n' % \ (internalCapabilityName, internalOptionName, internalOptionName) # translation of option, allows use of 8 # bit chars value = '' if 'ppd:value' in option: value = option['ppd:value'] ppd += '*%s.%s %s/%s: "%s"\n' % ( language, internalCapabilityName, internalOptionName, originOptionName, value) ppd += '*CloseUI: *%s\n' % internalCapabilityName ppd += self._PPD_TEMPLATE_FOOT return ppd
def test_GetLanguage(): assert Utils.GetLanguage(['en_GB', ]) == ("en", "en_GB") assert Utils.GetLanguage(['en_US', ]) == ("en", "en_US") assert Utils.GetLanguage(['fr_CA', ]) == ("fr", "fr_CA") assert Utils.GetLanguage(['fr_FR', ]) == ("fr", "fr_FR") assert Utils.GetLanguage(['it_IT', ]) == ("it", "it_IT") assert Utils.GetLanguage(['en', ]) == ("en", "en") assert Utils.GetLanguage([None, None]) == ("en", "en") # also test with helper helper = CUPSHelper() if helper.getServerSetting('DefaultLanguage') is not None: # if set locale = helper.getServerSetting('DefaultLanguage') lang = locale.split('_')[0] assert Utils.GetLanguage([None, None], helper) == (lang, locale) assert Utils.GetLanguage(['fr_CA', ], helper) == (lang, locale) else: # if not set assert Utils.GetLanguage([None, None], helper) == ("en", "en") assert Utils.GetLanguage(['fr_CA', ], helper) == ("fr", "fr_CA")