summaryrefslogtreecommitdiff
path: root/config.py
diff options
context:
space:
mode:
Diffstat (limited to 'config.py')
-rwxr-xr-xconfig.py68
1 files changed, 68 insertions, 0 deletions
diff --git a/config.py b/config.py
new file mode 100755
index 0000000..4e218a5
--- /dev/null
+++ b/config.py
@@ -0,0 +1,68 @@
+#!/usr/bin/python
+# -*- coding: utf-8 -*-
+try:
+ from subprocess import check_output
+except(ImportError):
+ from commands import getoutput
+ def check_output(*popenargs,**kwargs):
+ cmd=" ".join(*popenargs)
+ return getoutput(cmd)
+import os
+
+
+# Rsync commands
+
+def printf(text, logfile=False):
+ """Guarda el texto en la variable log y puede imprimir en pantalla."""
+ print (str(text) + "\n")
+ if logfile:
+ try:
+ log = open(logfile, 'a')
+ log.write("\n" + str(text) + "\n")
+ except:
+ print("Can't open %s" % logfile)
+ finally:
+ log.close()
+
+
+# Classes and Exceptions
+class NonValidFile(ValueError): pass
+class NonValidDir(ValueError): pass
+class NonValidCommand(ValueError): pass
+
+class Package:
+ """ An object that has information about a package. """
+ package_info=dict()
+
+ def __init__(self):
+ self.package_info={ "name" : False,
+ "version" : False,
+ "release" : False,
+ "arch" : False,
+ "license" : False,
+ "location": False,
+ "depends" : False,}
+
+ def __setitem__(self, key, item):
+ if key in self.package_info.keys():
+ return self.package_info.__setitem__(key, item)
+ else:
+ raise ValueError("Package has no %s attribute" % key)
+
+ def __getitem__(self, key):
+ return self.package_info.__getitem__(key)
+
+ def __unicode__(self):
+ return str(self.package_info)
+
+ def __repr__(self):
+ return str(self.package_info)
+
+ def __eq__(self,x):
+ if not isinstance(x, Package):
+ return False
+ for key in self.package_info.keys():
+ if x[key] != self.package_info[key]:
+ return False
+ else:
+ return True