def new_local(self, lang): if lang in languages.keys(): language = languages[lang][0] country = languages[lang][1] else: raise KeyError self._locals[lang] = (MetadataLocal(self.parent, self.path, language, country)) self._write()
def translate(bot, user, channel, args): if len(args) < 1: return gs = goslate.Goslate() arg_length = len(args) - 1 sentence = ' '.join(args[0:arg_length]) translate = str(args[-1].title()) if translate in languages.values(): shorthand = languages.keys()[languages.values().index(translate)] shorthand = str(shorthand) translated = gs.translate(sentence, shorthand) translated = translated.encode('utf8') if '#FalconSpy' in channel: bot.send_msg(channel, translated)
def translate(bot, user, channel, args): if len(args) < 1: return gs = goslate.Goslate() arg_length = len(args)-1 sentence = ' '.join(args[0:arg_length]) translate = str(args[-1].title()) if translate in languages.values(): shorthand = languages.keys()[languages.values().index(translate)] shorthand = str(shorthand) translated = gs.translate(sentence, shorthand) translated = translated.encode('utf8') if '#FalconSpy' in channel: bot.send_msg(channel, translated)
def __setattr__(self, n, v): if n in elements.keys(): if elements[n]['type'] == "string": if isinstance(v, str) or isinstance(v, unicode): self.__dict__["_{}".format(n)].value = v elif v is None: self.__dict__["_{}".format(n)].value = "" else: raise RuntimeWarning("Input value must be of type String") elif elements[n]['type'] == "date": if isinstance(v, date): self.__dict__["_{}".format(n)].value = date.strftime(v, "%Y%m%d") elif isinstance(v, str) or isinstance(v, unicode): try: new_value = datetime.strptime(v, "%Y%m%d").date() self.__dict__["_{}".format(n)].value = date.strftime(new_value, "%Y%m%d") except ValueError: RuntimeWarning("Input value must be of type a Date or a String ('yyyymmdd')") elif v is None: self.__dict__["_{}".format(n)].value = "" else: raise RuntimeWarning("Input value must be of type a Date or a Sting ('yyyymmdd')") elif elements[n]['type'] == "integer": if isinstance(v, int): self.__dict__["_{}".format(n)].value = str(v) elif isinstance(v, str): try: new_value = int(v) self.__dict__["_{}".format(n)].value = str(new_value) except ValueError: RuntimeWarning("Input value must be of type Integer") elif v is None: self.__dict__["_{}".format(n)].value = "" else: raise RuntimeWarning("Input value must be of type Integer") elif elements[n]['type'] == "float": if isinstance(v, float): self.__dict__["_{}".format(n)].value = str(v) elif isinstance(v, str) or isinstance(v, unicode): try: new_value = float(v) self.__dict__["_{}".format(n)].value = str(new_value) except ValueError: RuntimeWarning("Input value must be of type Float") elif v is None: self.__dict__["_{}".format(n)].value = "" else: raise RuntimeWarning("Input value must be of type Float") elif elements[n]['type'] == "list": if isinstance(v, list): self.__dict__["_{}".format(n)].value = v else: raise RuntimeWarning("Input value must be of type List") elif elements[n]['type'] == "language": if v in languages.keys(): #self.__dict__["_{}".format(n)].value = v self.__dict__["_{}".format(n)].attr_lang = {"value": languages[v][0]} self.__dict__["_{}".format(n)].attr_country = {"value": languages[v][1]} a = 1 elif v is None: self.__dict__["_{}".format(n)].value = "" else: raise RuntimeWarning("Input value must be in {}, an empty String or None".format(str(languages.keys()))) elif elements[n]['type'] == "local": if isinstance(v, MetadataLocals): self.__dict__["_%s" % n] = v else: raise RuntimeWarning("Input value must be of type MetadataLocals") elif elements[n]['type'] == "contact": # if isinstance(v, list): # is_contact = True # for i in v: # print type(i) # if not isinstance(i, MetadataContact): # is_contact = False # break # if is_contact: # self.__dict__["_%s" % n].value = v # else: # raise RuntimeWarning("Input value must be of a List of MetadataContact object") # elif v is None: # self.__dict__["_%s" % n].value = [] if isinstance(v, MetadataContact): self.__dict__["_%s" % n] = v else: raise RuntimeWarning("Input value must be a MetadataContact object") else: self.__dict__[n] = v