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'])
Example #3
0
    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
Example #4
0
    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
Example #5
0
    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)
Example #6
0
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 []
Example #7
0
 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'))
Example #8
0
File: jitsi.py Project: duy/keysync
    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