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 _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
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
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
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)
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)
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'])