def testParsePropertiesInput(self): properties = Properties() properties.load(open(self.properties_file)) self.assertEquals(23, len(properties.items())) self.assertEquals('Value00', properties['Key00']) self.assertEquals('Value01', properties['Key01']) self.assertEquals('Value02', properties['Key02']) self.assertEquals('Value03', properties['Key03']) self.assertEquals('Value04', properties['Key04']) self.assertEquals('Value05a, Value05b, Value05c', properties['Key05']) self.assertEquals('Value06a, Value06b, Value06c', properties['Key06']) self.assertEquals('Value07b', properties['Key07']) self.assertEquals( 'Value08a, Value08b, Value08c, Value08d, Value08e, Value08f', properties['Key08']) self.assertEquals( 'Value09a, Value09b, Value09c, Value09d, Value09e, Value09f', properties['Key09']) self.assertEquals('Value10', properties['Key10']) self.assertEquals('', properties['Key11']) self.assertEquals('Value12a, Value12b, Value12c', properties['Key12']) self.assertEquals('Value13 With Spaces', properties['Key13']) self.assertEquals('Value14 With Spaces', properties['Key14']) self.assertEquals('Value15 With Spaces', properties['Key15']) self.assertEquals('Value16', properties['Key16 With Spaces']) self.assertEquals('Value17', properties['Key17 With Spaces']) self.assertEquals('Value18 # Not a comment.', properties['Key18']) self.assertEquals('Value19 ! Not a comment.', properties['Key19']) self.assertEquals('Value20', properties['Key20=WithEquals']) self.assertEquals('Value21', properties['Key21:WithColon']) self.assertEquals('Value22', properties['Key22'])
def _testParsePropertiesInput(self, stream): properties = Properties() properties.load(stream) self.assertEquals(23, len(properties.items())) self.assertEquals('Value00', properties['Key00']) self.assertEquals('Value01', properties['Key01']) self.assertEquals('Value02', properties['Key02']) self.assertEquals('Value03', properties['Key03']) self.assertEquals('Value04', properties['Key04']) self.assertEquals('Value05a, Value05b, Value05c', properties['Key05']) self.assertEquals('Value06a, Value06b, Value06c', properties['Key06']) self.assertEquals('Value07b', properties['Key07']) self.assertEquals( 'Value08a, Value08b, Value08c, Value08d, Value08e, Value08f', properties['Key08']) self.assertEquals( 'Value09a, Value09b, Value09c, Value09d, Value09e, Value09f', properties['Key09']) self.assertEquals('Value10', properties['Key10']) self.assertEquals('', properties['Key11']) self.assertEquals('Value12a, Value12b, Value12c', properties['Key12']) self.assertEquals('Value13 With Spaces', properties['Key13']) self.assertEquals('Value14 With Spaces', properties['Key14']) self.assertEquals('Value15 With Spaces', properties['Key15']) self.assertEquals('Value16', properties['Key16 With Spaces']) self.assertEquals('Value17', properties['Key17 With Spaces']) self.assertEquals('Value18 # Not a comment.', properties['Key18']) self.assertEquals('Value19 ! Not a comment.', properties['Key19']) self.assertEquals('Value20', properties['Key20=WithEquals']) self.assertEquals('Value21', properties['Key21:WithColon']) self.assertEquals('Value22', properties['Key22'])
def parse(settingsdir=None): if settingsdir == None: settingsdir = JitsiProperties.path p = Properties() p.load(open(os.path.join(settingsdir, JitsiProperties.propertiesfile))) keydict = dict() for item in p.items(): propkey = item[0] name = "" if re.match("net\.java\.sip\.communicator\.impl\.protocol\.jabber\.acc[0-9]+\.ACCOUNT_UID", propkey): name = JitsiProperties._parse_account_uid(item[1]) if name in keydict: key = keydict[name] else: key = dict() key["name"] = name key["protocol"] = "prpl-jabber" keydict[name] = key propkey_base = "net.java.sip.communicator.plugin.otr." + re.sub("[^a-zA-Z0-9_]", "_", item[1]) private_key = p.getProperty(propkey_base + "_privateKey").strip() public_key = p.getProperty(propkey_base + "_publicKey").strip() numdict = util.ParsePkcs8(private_key) key["x"] = numdict["x"] numdict = util.ParseX509(public_key) for num in ("y", "g", "p", "q"): key[num] = numdict[num] key["fingerprint"] = util.fingerprint((key["y"], key["g"], key["p"], key["q"])) verifiedkey = ( "net.java.sip.communicator.plugin.otr." + re.sub("[^a-zA-Z0-9_]", "_", key["name"]) + "_publicKey_verified" ) if p.getProperty(verifiedkey).strip() == "true": key["verification"] = "verified" elif re.match("net\.java\.sip\.communicator\.plugin\.otr\..*_publicKey_verified", propkey): name, protocol = JitsiProperties._parse_account_from_propkey(settingsdir, propkey) if name != None: if name not in keydict: key = dict() key["name"] = name keydict[name] = key if protocol and "protocol" not in keydict[name]: keydict[name]["protocol"] = protocol keydict[name]["verification"] = "verified" # if the protocol name is included in the property name, its a local account with private key elif re.match("net\.java\.sip\.communicator\.plugin\.otr\..*_publicKey", propkey) and not re.match( "net\.java\.sip\.communicator\.plugin\.otr\.(Jabber_|Google_Talk_)", propkey ): name, ignored = JitsiProperties._parse_account_from_propkey(settingsdir, propkey) if name not in keydict: key = dict() key["name"] = name key["protocol"] = "prpl-jabber" keydict[name] = key numdict = util.ParseX509(item[1]) for num in ("y", "g", "p", "q"): key[num] = numdict[num] key["fingerprint"] = util.fingerprint((key["y"], key["g"], key["p"], key["q"])) return keydict
def parse(settingsdir=None): if settingsdir == None: settingsdir = JitsiProperties.path p = Properties() p.load(open(os.path.join(settingsdir, JitsiProperties.propertiesfile))) keydict = dict() for item in p.items(): propkey = item[0] name = '' if re.match('net\.java\.sip\.communicator\.impl\.protocol\.jabber\.acc[0-9]+\.ACCOUNT_UID', propkey): name = JitsiProperties._parse_account_uid(item[1]) if name in keydict: key = keydict[name] else: key = dict() key['name'] = name key['protocol'] = 'prpl-jabber' keydict[name] = key propkey_base = ('net.java.sip.communicator.plugin.otr.' + re.sub('[^a-zA-Z0-9_]', '_', item[1])) private_key = p.getProperty(propkey_base + '_privateKey').strip() public_key = p.getProperty(propkey_base + '_publicKey').strip() numdict = util.ParsePkcs8(private_key) key['x'] = numdict['x'] numdict = util.ParseX509(public_key) for num in ('y', 'g', 'p', 'q'): key[num] = numdict[num] key['fingerprint'] = util.fingerprint((key['y'], key['g'], key['p'], key['q'])) verifiedkey = ('net.java.sip.communicator.plugin.otr.' + re.sub('[^a-zA-Z0-9_]', '_', key['name']) + '_publicKey_verified') if p.getProperty(verifiedkey).strip() == 'true': key['verification'] = 'verified' elif (re.match('net\.java\.sip\.communicator\.plugin\.otr\..*_publicKey_verified', propkey)): name, protocol = JitsiProperties._parse_account_from_propkey(settingsdir, propkey) if name != None: if name not in keydict: key = dict() key['name'] = name keydict[name] = key if protocol and 'protocol' not in keydict[name]: keydict[name]['protocol'] = protocol keydict[name]['verification'] = 'verified' # if the protocol name is included in the property name, its a local account with private key elif (re.match('net\.java\.sip\.communicator\.plugin\.otr\..*_publicKey', propkey) and not re.match('net\.java\.sip\.communicator\.plugin\.otr\.(Jabber_|Google_Talk_)', propkey)): name, ignored = JitsiProperties._parse_account_from_propkey(settingsdir, propkey) if name not in keydict: key = dict() key['name'] = name key['protocol'] = 'prpl-jabber' keydict[name] = key numdict = util.ParseX509(item[1]) for num in ('y', 'g', 'p', 'q'): key[num] = numdict[num] key['fingerprint'] = util.fingerprint((key['y'], key['g'], key['p'], key['q'])) return keydict
def __init__(self): # Open and load the file. For each file property, # we assign it as the property of the object instance with open(APP_PROP_FILE, "r") as app_property_file: app_properties = Properties() app_properties.load(app_property_file) for property, value in app_properties.items(): setattr(self, property, value)
def get_dependency_projects(): if os.path.exists(project_filename): with open(project_filename) as fsock: properties = Properties() properties.load(fsock) project = re.compile(r'android.library.reference.\d+') return (value for key, value in properties.items() if project.match(key)) else: return []
def testParsePropertiesInput(self): properties = Properties() properties.load(open(self.properties_file)) self.assertEqual(25, len(properties.items())) self.assertEqual('Value00', properties['Key00']) self.assertEqual('Value01', properties['Key01']) self.assertEqual('Value02', properties['Key02']) self.assertEqual('Value03', properties['Key03']) self.assertEqual('Value04', properties['Key04']) self.assertEqual('Value05a, Value05b, Value05c', properties['Key05']) self.assertEqual('Value06a, Value06b, Value06c', properties['Key06']) self.assertEqual('Value07b', properties['Key07']) self.assertEqual( 'Value08a, Value08b, Value08c, Value08d, Value08e, Value08f', properties['Key08']) self.assertEqual( 'Value09a, Value09b, Value09c, Value09d, Value09e, Value09f', properties['Key09']) self.assertEqual('Value10', properties['Key10']) self.assertEqual('', properties['Key11']) self.assertEqual('Value12a, Value12b, Value12c', properties['Key12']) self.assertEqual('Value13 With Spaces', properties['Key13']) self.assertEqual('Value14 With Spaces', properties['Key14']) self.assertEqual('Value15 With Spaces', properties['Key15']) self.assertEqual('Value16', properties['Key16 With Spaces']) self.assertEqual('Value17', properties['Key17 With Spaces']) self.assertEqual('Value18 # Not a comment.', properties['Key18']) self.assertEqual('Value19 ! Not a comment.', properties['Key19']) # Single referenced property self.assertEqual('Value19 ! Not a comment.Value20', properties['Key20']) self.assertEqual('Value21', properties['Key21=WithEquals']) self.assertEqual('Value22', properties['Key22:WithColon']) self.assertEqual('Value23', properties['Key23']) # Multiple referenced properties with separator self.assertEqual( 'Value18 # Not a comment.-separator-Value19 ! Not a comment.', properties['Key24']) properties.store(open('saved.properties', 'w'))
def parse(settingsdir=None): if settingsdir == None: settingsdir = JitsiProperties.path p = Properties() p.load(open(os.path.join(settingsdir, JitsiProperties.propertiesfile))) keydict = dict() for item in p.items(): propkey = item[0] name = '' if re.match( 'net\.java\.sip\.communicator\.impl\.protocol\.jabber\.acc[0-9]+\.ACCOUNT_UID', propkey): name = JitsiProperties._parse_account_uid(item[1]) if name in keydict: key = keydict[name] else: key = dict() key['name'] = name key['protocol'] = 'prpl-jabber' keydict[name] = key propkey_base = ('net.java.sip.communicator.plugin.otr.' + re.sub('[^a-zA-Z0-9_]', '_', item[1])) private_key = p.getProperty(propkey_base + '_privateKey').strip() public_key = p.getProperty(propkey_base + '_publicKey').strip() numdict = util.ParsePkcs8(private_key) key['x'] = numdict['x'] numdict = util.ParseX509(public_key) for num in ('y', 'g', 'p', 'q'): key[num] = numdict[num] key['fingerprint'] = util.fingerprint( (key['y'], key['g'], key['p'], key['q'])) verifiedkey = ('net.java.sip.communicator.plugin.otr.' + re.sub('[^a-zA-Z0-9_]', '_', key['name']) + '_publicKey_verified') if p.getProperty(verifiedkey).strip() == 'true': key['verification'] = 'verified' elif (re.match( 'net\.java\.sip\.communicator\.plugin\.otr\..*_publicKey_verified', propkey)): name, protocol = JitsiProperties._parse_account_from_propkey( settingsdir, propkey) if name != None: if name not in keydict: key = dict() key['name'] = name keydict[name] = key if protocol and 'protocol' not in keydict[name]: keydict[name]['protocol'] = protocol keydict[name]['verification'] = 'verified' # if the protocol name is included in the property name, its a local account with private key elif (re.match( 'net\.java\.sip\.communicator\.plugin\.otr\..*_publicKey', propkey ) and not re.match( 'net\.java\.sip\.communicator\.plugin\.otr\.(Jabber_|Google_Talk_)', propkey)): name, ignored = JitsiProperties._parse_account_from_propkey( settingsdir, propkey) if name not in keydict: key = dict() key['name'] = name key['protocol'] = 'prpl-jabber' keydict[name] = key numdict = util.ParseX509(item[1]) for num in ('y', 'g', 'p', 'q'): key[num] = numdict[num] key['fingerprint'] = util.fingerprint( (key['y'], key['g'], key['p'], key['q'])) return keydict