diff --git a/paramecio2/console.py b/paramecio2/console.py old mode 100644 new mode 100755 diff --git a/paramecio2/libraries/datetime.py b/paramecio2/libraries/datetime.py index a6423a0..63dd190 100644 --- a/paramecio2/libraries/datetime.py +++ b/paramecio2/libraries/datetime.py @@ -153,10 +153,10 @@ def obtain_timestamp(timeform, local=False, tz=''): t=arrow.arrow.Arrow(y, m, d, h, mi, s).to(tz) - timestamp=t.timestamp + timestamp=t.timestamp() else: - timestamp=arrow.arrow.Arrow(y, m, d, h, mi, s).timestamp + timestamp=arrow.arrow.Arrow(y, m, d, h, mi, s).timestamp() return timestamp diff --git a/paramecio2/libraries/db/corefields.py b/paramecio2/libraries/db/corefields.py index 88c4378..41a0a02 100644 --- a/paramecio2/libraries/db/corefields.py +++ b/paramecio2/libraries/db/corefields.py @@ -122,6 +122,12 @@ class FloatField(PhangoField): return 'FLOAT NOT NULL DEFAULT "0"' +class DecimalField(FloatField): + + def get_type_sql(self): + + return 'DECIMAL(20, 2) NOT NULL DEFAULT "0"' + class DoubleField(FloatField): def get_type_sql(self): diff --git a/paramecio2/libraries/db/coreforms.py b/paramecio2/libraries/db/coreforms.py index bbf360c..3247ddc 100644 --- a/paramecio2/libraries/db/coreforms.py +++ b/paramecio2/libraries/db/coreforms.py @@ -66,12 +66,17 @@ class TextForm(BaseForm): class PasswordForm(BaseForm): - def __init__(self, name, value): + def __init__(self, name, value, show_password=False): super(PasswordForm, self).__init__(name, value) self.type='password' + self.show_password=show_password def setform(self, value): - return "" + if not self.show_password: + return "" + + else: + return value class HiddenForm(BaseForm): diff --git a/paramecio2/libraries/db/extrafields/moneyfield.py b/paramecio2/libraries/db/extrafields/moneyfield.py index a441239..2ac0697 100644 --- a/paramecio2/libraries/db/extrafields/moneyfield.py +++ b/paramecio2/libraries/db/extrafields/moneyfield.py @@ -1,10 +1,10 @@ -from paramecio2.libraries.db.corefields import FloatField +from paramecio2.libraries.db.corefields import DecimalField from decimal import Decimal, getcontext from locale import format_string getcontext().prec=2 -class MoneyField(FloatField): +class MoneyField(DecimalField): def __init__(self, name, required=False): @@ -23,4 +23,5 @@ class MoneyField(FloatField): @staticmethod def format_money(value): return format_string('%.2f', Decimal(value), grouping=True) + diff --git a/paramecio2/libraries/sendmail.py b/paramecio2/libraries/sendmail.py index 6b191fb..2b4127e 100644 --- a/paramecio2/libraries/sendmail.py +++ b/paramecio2/libraries/sendmail.py @@ -22,22 +22,23 @@ class SendMail: password='' - ssl=True - - if sys.version_info < (3, 6): - - context = ssl_module.SSLContext(ssl_module.PROTOCOL_TLSv1_2) - else: - context = ssl_module.SSLContext(ssl_module.PROTOCOL_TLS) + #ssl=True - def __init__(self): + def __init__(self, ssl=True): - self.smtp=smtplib.SMTP(host=self.host, port=self.port) + self.smtp=None #smtplib.SMTP(host=self.host, port=self.port) self.txt_error='' + self.ssl=ssl - def send(self, from_address, to_address: list, subject, message, content_type='plain', attachments=[]): + if sys.version_info < (3, 6): + self.context = ssl_module.SSLContext(ssl_module.PROTOCOL_TLSv1_2) + else: + self.context = ssl_module.SSLContext(ssl_module.PROTOCOL_TLS) + if self.ssl==True: + + self.smtp=smtplib.SMTP(host=self.host, port=self.port) try: @@ -60,19 +61,13 @@ class SendMail: self.txt_error=e.__str__() return False - - """ - except smtplib.SMTPNotSupportedError: - - self.txt_error='Error: SSL/TLS is not supported' - - return False - """ - + + #login + if self.username!='': try: - + self.smtp.login(self.username, self.password) except smtplib.SMTPHeloError: @@ -92,15 +87,9 @@ class SendMail: self.txt_error='Error: any method for login is avaliable - '+e.__str__() return False - - """ - except smtplib.SMTPNotSupportedError: - - self.txt_error='Error: AUTH is not supported' - - return False - """ - + + def send(self, from_address, to_address: list, subject, message, content_type='plain', attachments=[]): + COMMASPACE=', ' if len(attachments)==0: @@ -177,9 +166,12 @@ class SendMail: def quit(self): - self.smtp.quit() + if self.smtp!=None: + self.smtp.quit() def __del__(self): - self.smtp.quit() + if self.smtp!=None: + + self.smtp.quit()