def test_load_iso_8859_1(self):
     filename = os.path.join(TEST_DATA_FOLDER, 'iso-8859-1.properties')
     iso_8859_1_properties = JavaProperties()
     with open(filename, encoding='iso-8859-1') as property_file:
         iso_8859_1_properties.load(property_file)
         name = iso_8859_1_properties['name']
         self.assertEqual('Rodríguez', name)
         country = iso_8859_1_properties['país']
         self.assertEqual('Panamá', country)
예제 #2
0
    def _save_to_history(self, key, value):
        javaprops = JavaProperties()
        historyFileName = "{}/.{}".format(self.historyFilePath, self.repoName)

        try:
            with open(historyFileName) as f:
                javaprops.load(f)
        except (FileNotFoundError, UnboundLocalError):
            logger.debug("Could not read history file %s" % historyFileName)
            pass

        javaprops.set_property(key, value)

        try:
            basedir = os.path.dirname(historyFileName)
            if not os.path.exists(basedir):
                os.makedirs(basedir)
            with open(historyFileName, mode='w') as f:
                javaprops.store(f)
            self.history = javaprops.get_property_dict()
        except (FileNotFoundError, UnboundLocalError):
            logger.debug("Could not save to history file %s" % historyFileName)
            raise

        return
예제 #3
0
    def _read_properties(self):
        javaprops = JavaProperties()

        try:
            javaprops.load(open(self.propertiesFilename))
            property_dict = javaprops.get_property_dict()
        except (FileNotFoundError, UnboundLocalError):
            logger.error("Error while trying to read properties file %s" % self.propertiesFilename)
            sys.exit()
            #raise

        logger.debug("Read succesfully property file %s" % self.propertiesFilename)
        return property_dict
예제 #4
0
    def _read_dspace_properties(self):
        javaprops = JavaProperties()

        try:
            propertiesFilename = "%s/config/dspace.cfg" % (
                self.properties["dspace.dir"])
            javaprops.load(open(propertiesFilename))
            property_dict = javaprops.get_property_dict()
            logger.debug("Read succesfully property file %s" %
                         propertiesFilename)
        except (FileNotFoundError, UnboundLocalError):
            logger.exception("Error while trying to read properties file %s" %
                             propertiesFilename)
            raise

        try:
            propertiesFilename = "%s/config/local.cfg" % (
                self.properties["dspace.dir"])
            javaprops.load(open(propertiesFilename))
            property_dict = javaprops.get_property_dict()
            logger.debug("Read succesfully property file %s" %
                         propertiesFilename)
        except (FileNotFoundError, UnboundLocalError):
            logger.debug("Could not read property file %s" %
                         propertiesFilename)
            pass

        return property_dict
예제 #5
0
    def __init__(self, base_path, reponame):
        self.javaprops = JavaProperties()
        self.base_path = base_path
        self.reponame = reponame
        self.property_dict = {LAST_TRACKED_TIMESTAMP_HISTORY_FIELD:None}
        self.filename = "{}/{}".format(base_path, reponame + ".dat")

        try:
            with open(self.filename) as f:
                self.javaprops.load(f)
            self.property_dict = self.javaprops.get_property_dict()
            logger.debug("Read succesfully history file %s" % self.filename)
        except (FileNotFoundError, UnboundLocalError):
            logger.debug("History file %s does not exist. Creating one..." % self.filename)
예제 #6
0
class History:

    
    #self.history = self._load_history()

    def __init__(self, base_path, reponame):
        self.javaprops = JavaProperties()
        self.base_path = base_path
        self.reponame = reponame
        self.property_dict = {LAST_TRACKED_TIMESTAMP_HISTORY_FIELD:None}
        self.filename = "{}/{}".format(base_path, reponame + ".dat")

        try:
            with open(self.filename) as f:
                self.javaprops.load(f)
            self.property_dict = self.javaprops.get_property_dict()
            logger.debug("Read succesfully history file %s" % self.filename)
        except (FileNotFoundError, UnboundLocalError):
            logger.debug("History file %s does not exist. Creating one..." % self.filename)

    def save_last_tracked_timestamp(self, timestamp):
        try:
            if not os.path.exists(self.base_path):
                os.makedirs(self.base_path)
            self.javaprops.set_property(LAST_TRACKED_TIMESTAMP_HISTORY_FIELD, timestamp)    
            with open(self.filename, mode='w') as f:
                self.javaprops.store(f)
            self.property_dict = self.javaprops.get_property_dict()    
        except (FileNotFoundError, UnboundLocalError):
            logger.debug("Could not save to history file %s" % self.filename)
            raise

    def get_last_tracked_timestamp(self):
        return self.property_dict.get(LAST_TRACKED_TIMESTAMP_HISTORY_FIELD, None)
예제 #7
0
    def _load_history(self):
        javaprops = JavaProperties()
        property_dict = dict(lastTrackedEventTimestamp=None)
        historyFileName = "{}/.{}".format(self.historyFilePath, self.repoName)

        try:
            with open(historyFileName) as f:
                javaprops.load(f)
            property_dict = javaprops.get_property_dict()
            logger.debug("Read succesfully history file %s" % historyFileName)
        except (FileNotFoundError, UnboundLocalError):
            logger.debug("Could not read history file %s" % historyFileName)
            pass

        return property_dict
    def test_store(self):
        filename = os.path.join(TEST_DATA_FOLDER, 'simple.properties')
        simple_java_properties = JavaProperties()
        with open(filename) as property_file:
            simple_java_properties.load(property_file)
        simple_java_properties['country'] = 'Angola'
        output_filename = os.path.join(OUTPUT_FOLDER, 'simple_%s.properties' % datetime.now().strftime('%Y%m%d_%H%M'))
        with open(output_filename, mode='w') as output:
            simple_java_properties.store(output)

        with open(output_filename) as property_file:
            simple_java_properties.load(property_file)

        self.assertEqual('Angola', simple_java_properties['country'])
 def test_load_windows_1252(self):
     filename = os.path.join(TEST_DATA_FOLDER, 'windows-1252.properties')
     simple_java_properties = JavaProperties()
     simple_java_properties.load(open(filename, encoding='windows-1252'))
     name = simple_java_properties['name']
     self.assertEqual('Rodríguez', name)
 def test_load(self):
     filename = os.path.join(TEST_DATA_FOLDER, 'simple.properties')
     simple_java_properties = JavaProperties()
     simple_java_properties.load(open(filename))
     self.assertEqual('1.5, 1.6.1, 1.7, 1.8,', simple_java_properties['supported.java.versions'])
 def setUp(self):
     filename = os.path.join(TEST_DATA_FOLDER, 'complex.properties')
     self.java_properties = JavaProperties()
     self.java_properties.load(open(filename))
class JavaPropertiesTestCase(unittest.TestCase):

    def setUp(self):
        filename = os.path.join(TEST_DATA_FOLDER, 'complex.properties')
        self.java_properties = JavaProperties()
        self.java_properties.load(open(filename))

    def test_value_with_spaces(self):
        self.assertEqual('Value14 With Spaces', self.java_properties['Key14'])
        self.assertEqual('Value01-test', self.java_properties['Key23'])

    def test_variable(self):
        self.assertEqual('Value01-test', self.java_properties['Key23'])

    def test_variable_dollar(self):
        self.assertEqual('Value01/path/to/myapp', self.java_properties['Key24'])

    def test_key_with_spaces_eq(self):
        #Key17\ With\ Spaces=Value17
        self.assertEqual('Value17', self.java_properties['Key17 With Spaces'])

    def test_key_with_spaces(self):
        #Key16\ With\ Spaces:Value16
        self.assertEqual('Value16', self.java_properties['Key16 With Spaces'])

    def test_get_names(self):
        #Key16\ With\ Spaces:Value16
        self.assertEqual(25, len(self.java_properties.property_names()))

    def test_load(self):
        filename = os.path.join(TEST_DATA_FOLDER, 'simple.properties')
        simple_java_properties = JavaProperties()
        simple_java_properties.load(open(filename))
        self.assertEqual('1.5, 1.6.1, 1.7, 1.8,', simple_java_properties['supported.java.versions'])

    def test_load_windows_1252(self):
        filename = os.path.join(TEST_DATA_FOLDER, 'windows-1252.properties')
        simple_java_properties = JavaProperties()
        simple_java_properties.load(open(filename, encoding='windows-1252'))
        name = simple_java_properties['name']
        self.assertEqual('Rodríguez', name)

    def test_load_iso_8859_1(self):
        filename = os.path.join(TEST_DATA_FOLDER, 'iso-8859-1.properties')
        iso_8859_1_properties = JavaProperties()
        with open(filename, encoding='iso-8859-1') as property_file:
            iso_8859_1_properties.load(property_file)
            name = iso_8859_1_properties['name']
            self.assertEqual('Rodríguez', name)
            country = iso_8859_1_properties['país']
            self.assertEqual('Panamá', country)

    def test_store(self):
        filename = os.path.join(TEST_DATA_FOLDER, 'simple.properties')
        simple_java_properties = JavaProperties()
        with open(filename) as property_file:
            simple_java_properties.load(property_file)
        simple_java_properties['country'] = 'Angola'
        output_filename = os.path.join(OUTPUT_FOLDER, 'simple_%s.properties' % datetime.now().strftime('%Y%m%d_%H%M'))
        with open(output_filename, mode='w') as output:
            simple_java_properties.store(output)

        with open(output_filename) as property_file:
            simple_java_properties.load(property_file)

        self.assertEqual('Angola', simple_java_properties['country'])

    def test_json_adapter(self):
        output_filename = os.path.join(OUTPUT_FOLDER, 'simple_%s.json' % datetime.now().strftime('%Y%m%d_%H%M'))
        export_to_json(output_filename, self.java_properties)
        with open(output_filename) as json_data:
            json_properties = json.load(json_data)
        self.assertEqual('Value10', json_properties['Key10'])