ted17 package

Submodules

ted17.dategr module

dategr - A library to work with Greek Format Dates

dategr is a libray that provides a set of functions to work with Greek Formatted Dates.

ted17.dategr.date2gr(date, removezero=False)[source]
Parameters:
  • date (iso_date) – iso date ‘yyyy-mm-dd’
  • removezero – Month, Day without trailing zeros (If True ‘2017-01-09’ => ‘9/1/2017’. If False ‘2017-01-09’ => ‘09/01/2017’)
Returns:

‘dd/mm/yyyy’

Example:

>>> import dategr
>>> dategr.date2gr('2017-01-15)
'15/01/2017'
>>> dategr.dat2gr('2017-01-15, True)
'15/1/2017'
ted17.dategr.getymd_from_iso(isodate)[source]

Year, month, day From isodate

Parameters:isodate – Date of the form ‘yyyy-mm-dd’
Returns:int year, int month, int day
ted17.dategr.grdate2iso(greek_date)[source]

Return iso date (yyy-mm-dd) from greek date(dd/mm/yyyy)

Parameters:greek_date – Date of the form ‘dd/mm/yyyy’
Returns:Iso Date (‘yyyy-mm-dd’)
ted17.dategr.group_selector(iso_date, per='m')[source]

Selector

Parameters:
  • iso_date – Iso Date to transform
  • per – Text value according to following table
per Time Interval
m month
d full date
y year
m2 Βimonthly
m3 Quarter
m4 Quadrimester
m6 Semester
w Week
s Season
ted17.dategr.period(iso_date, diast=2)[source]

Find the timespace iso_dete belongs

Parameters:
  • iso_date – Date of the form ‘yyyy-mm-dd’
  • diast – Time space
Returns:

‘year-diast-diastv’

ted17.dategr.saizon(iso_date, startmonth=10)[source]

Find the yearfrom-yearto period of iso_date

Parameters:
  • iso_date – Date of the form ‘yyyy-mm-dd’
  • startmonth – int month value to split year
Returns:

‘year-year_next(startmonth)’

ted17.dategr.week(iso_date)[source]

Evaluate year-weeknumber of iso_date

Parameters:iso_date – Date of the form ‘yyyy-mm-dd’
Returns:year-weekNumber

ted17.db module

Module db.py Connect to sqlite database and perform crud functions

Example:

>>> from ted17 import db_context_manager as dbc
>>> with dbc.SqliteManager('path/to/sql3file') as db:
>>>     db.select('SELECT * from tbl1')
class ted17.db.SqliteManager(dbfile)[source]

Bases: object

Context manager class

application_id()[source]

Get application_id from database file

Returns:application_id or -9
dbf = None

This is a test

fields(table_or_view)[source]

A Tuple with table or view fields

Parameters:table_or_view – Table or View name
script(sqlscript)[source]

Execute an sql script against self.dbf

Parameters:sqlscript – SQL to run
Returns:Nothing
select(sql)[source]

Get a list of tuples with data

Parameters:sql – SQL to run
Returns:List of tuples of rows
select_as_dict(sql)[source]

Get a list of dictionaries

Parameters:sql – The sql to execute
Returns:[{}, {}, ...]
select_master_detail(idv, tablemaster, tabledetail=None, id_at_end=True)[source]

Get a specific record from table tablemaster. If we pass it a tabledetail value, it gets detail records too.

Parameters:
  • idv – id value of record
  • tablemaster – Master table name
  • tabledetail – Detail table name
  • id_at_end – If True Foreign key is like tablemaster_id else is like id_mastertable
Returns:

dictionary with values

select_with_names(sql)[source]

Get a tuple with column names and a list of tuples with data

Parameters:sql – The sql to execute
Returns:(columnNam1, ...) [(dataLine1), (dataLine2), ...]
set_application_id(idv)[source]

Set application_id to database file

Parameters:idv – application_id value to set
Returns:nothing
set_user_version(version)[source]

Set user_version to database file

Parameters:version – version value to set
Returns:Nothing
tables()[source]

A tuple with database tables

user_version()[source]

Get user_version from database file

Returns:user_version or -9
views()[source]

A Tuple with database views

ted17.db.dataFromDB(dbf, sql)[source]

Get data from database

Parameters:
  • dbf – Database file path
  • sql – SQL to run
Returns:

list of tuples [(), (), ...]

ted17.db_sql module

Module db_sql.py Creates insert, update, delete sql from dictionaries

ted17.db_sql.dic2sql(table, adic)[source]

Dictionary to Sql.

Parameters:
  • table – Table name
  • adic – dictionary with key names same with table field names
Returns:

sql according to input parameter adic.

If adic[‘id’] == 0 returns insert sql

If adic[‘id] != 0 returns update sql

If there is adic[‘_d_’] returns delete sql

ted17.db_sql.dic2sql_md(tmaster, tdetail, adic, id_at_end=True)[source]

Dictionary to transactional SQL.

Parameters:
  • tmaster – master table name
  • tdetail – detail table name
  • adic – dictionary to translate to sql. Keys represent table fields
  • id_at_end – tmaster_id or id_tmaster
Returns:

SQL

ted17.dbmanager module

Module dbmanager.py

class ted17.dbmanager.Dbm[source]

Bases: object

add_field(table, field)[source]
add_table(table)[source]
class ted17.dbmanager.Dbmanager(user_version, application_id)[source]

Bases: object

Dbmanager class

add_field(table, field, label, typ='TXT', qt='s', unique=False)[source]

Adds a new field

add_table(table, label, labelp, rpr=[], unifld=[])[source]

Adds a new table table : The table Name label : The translated title of table labelp : The translated plural title of table rpr : List of table representation fields unifld : List of fields to be unique

get_fields(table, with_id=True)[source]
Returns an ordered list with table fields
with_id=True : [‘id’, ‘fld1’, ‘fld2’, ...] with_id=False : [‘fld1’, ‘fld2’, ...]
get_joined_fields(table, only_rpr=False)[source]

Returns string with joined fields

get_labels(table)[source]

Returns a dictionary with fields: labels of table {‘fld1’: ‘lbl1’, ‘fld2’: ‘lbl2’, ...}

get_tables_fields()[source]

Returns a dictionary of tables: ordered list of table fields {‘tabename’: [‘id’, ‘fld1’, ‘fld2’, ...]}

rpr(table)[source]

Get sql of table representation

sql_create()[source]

Returns sql script for database creation

exception ted17.dbmanager.DbmanagerException[source]

Bases: Exception

Exception to use with class Dbmanager

ted17.dec module

class ted17.dec.Ddi(*args, **kwargs)[source]

Bases: dict

Dictionary of decimals or text values

class ted17.dec.Ddict(*args, **kwargs)[source]

Bases: dict

Dictionary of decimals only

ted17.dec.dec(poso=0, decimals=2)[source]

Always returns a decimal number. If poso is not a number or None returns dec(0)

Parameters:
  • poso – Mumber in any format (string, float, int, ...)
  • decimals – Number of decimals (default 2)
Returns:

A decimal number rounded to decimals parameter

ted17.dec.dec2gr(poso, decimals=2, zero_as_space=False)[source]

Returns string with Greek Formatted decimal (12345.67 becomes 12.345,67)

ted17.dec.distribute(val, distArray, decimals=2)[source]

input parameters:

Parameters:
  • val – Decimal value for distribution
  • distArray – Distribution Array
  • decimals – Number of decimal digits
Returns:

Tuple of distributed val

ted17.dec.gr2dec(poso)[source]

Returns decimal (12.345,67 becomes 12345.67)

ted17.dec.isNum(val)[source]

Check if val is number or not

Parameters:val – value to check
Returns:Boolean
ted17.dec.triades(txt, separator='.')[source]

Help function to split digits to thousants ( 123456 becomes 123.456 )

ted17.f_find module

class ted17.f_find.Find(dbf, sql, lbl, parent=None, frm=None, sclose=True, title=None)[source]

Bases: PyQt5.QtWidgets.QDialog

contextMenuEvent(event)[source]
get_values()[source]
keyPressEvent(ev)[source]

use enter or return for fast selection nad form close ...

make_new()[source]
populate()[source]
signal_make_new
signal_selected_id
slot_updated()[source]
ted17.f_find.item_date(strv)[source]
ted17.f_find.item_int(num)[source]
ted17.f_find.item_num(num)[source]
ted17.f_find.item_str(strv)[source]
class ted17.f_find.sortWidgetItem(text, sortKey)[source]

Bases: PyQt5.QtWidgets.QTableWidgetItem

ted17.f_table module

class ted17.f_table.Form_find(lbls, rws, title, parent=None, selectAndClose=True)[source]

Bases: PyQt5.QtWidgets.QDialog

keyPressEvent(ev)[source]

use enter or return for fast selection nad form close ...

valselected
class ted17.f_table.Table_widget(labels=[], rows=[[]], parent=None)[source]

Bases: PyQt5.QtWidgets.QTableWidget

populate()[source]
class ted17.f_table.sortWidgetItem(text, sortKey)[source]

Bases: PyQt5.QtWidgets.QTableWidgetItem

ted17.grup module

Module grup

ted17.grup.grup(txtval)[source]

Trasforms a string to uppercase special for Greek comparison

ted17.parameters module

ted17.rpt_html module

Created on 5 Μαρ 2013 Updated on 26 Mar 2017 @author: tedlaz

class ted17.rpt_html.Window(template, value_array, pdf_name)[source]

Bases: PyQt5.QtWidgets.QWidget

handleOpen()[source]
handlePreview()[source]
handlePrint()[source]
handleTextChanged()[source]
saveAsOdt()[source]
tstPrintPdf()[source]

ted17.rpt_tbl module

Created on 23 Mar 2017

@author: tedlaz

version 1.0

ted17.rpt_tbl.align(opt=0)[source]
ted17.rpt_tbl.frmt(val, typos)[source]
ted17.rpt_tbl.gr(number)[source]

Returns Greek Decimal(2) number or empty space

ted17.rpt_tbl.gr0(number)[source]

Returns Greek Decimal(2) number or 0,00

ted17.rpt_tbl.grd(imnia)[source]

Returns Greek Date

ted17.rpt_tbl.grint(number)[source]

Returns Greek Decimal(1) number

class ted17.rpt_tbl.qtTableReport(f={})[source]

Bases: object

printPdf()[source]
printPreview()[source]

ted17.rpt_tbl_tst module

Created on 3 Mar 2013

@author: tedlaz

class ted17.rpt_tbl_tst.testprn1[source]

Bases: PyQt5.QtWidgets.QDialog

onClick()[source]

ted17.selector module

ted17.selector.qtfield(typ, parent, name)[source]

Factory for fld classes.

ted17.w_checkbox module

class ted17.w_checkbox.Checkbox(val=False, parent=None)[source]

Bases: PyQt5.QtWidgets.QCheckBox

True or False field Gets / Sets two values : 0 for unchecked , 2 for checked

get()[source]
set(txtVal)[source]

ted17.w_date module

class ted17.w_date.Date(val=None, parent=None)[source]

Bases: PyQt5.QtWidgets.QDateEdit

Date values for most cases

get()[source]
set(iso_date)[source]

ted17.w_date_or_empty module

class ted17.w_date_or_empty.Date_or_empty(val=None, parent=None)[source]

Bases: PyQt5.QtWidgets.QToolButton

Date or empty string values

get()[source]
menu_calendar()[source]
mousePressEvent(event)[source]
set(iso_date)[source]

ted17.w_integer module

class ted17.w_integer.Integer(val='', parent=None)[source]

Bases: ted17.w_textline.Text_line

Text field with numeric chars only left aligned.

ted17.w_integer_spin module

class ted17.w_integer_spin.Integer_spin(val=0, parent=None)[source]

Bases: PyQt5.QtWidgets.QSpinBox

Integer values (eg 123)

get()[source]
set(val)[source]

ted17.w_numeric_old module

class ted17.w_numeric_old.Numeric(val='0', parent=None)[source]

Bases: PyQt5.QtWidgets.QLineEdit

Text field with numeric chars only.

focusOutEvent(ev)[source]
get()[source]
set(txt)[source]

ted17.w_numeric_spin module

class ted17.w_numeric_spin.Numeric_spin(val=0, parent=None)[source]

Bases: PyQt5.QtWidgets.QDoubleSpinBox

Numeric (decimal 2 ) values (eg 999,99)

get()[source]
set(val)[source]

ted17.w_text module

class ted17.w_text.Text(val='', parent=None)[source]

Bases: PyQt5.QtWidgets.QTextEdit

Text field

get()[source]

Get value

Returns:Text value of control
set(txt)[source]

Set value

Parameters:txt – value to set

ted17.w_text_button module

Created on Nov 25, 2014

@author: tedlaz.

class ted17.w_text_button.Text_button(val, qu1, qu9, dbf, parent=None)[source]

Bases: PyQt5.QtWidgets.QWidget

Button text class

button_clicked()[source]
find(text)[source]
get()[source]
green()[source]
keyPressEvent(ev)[source]
red()[source]
set(val)[source]
text_changed()[source]
valNotFound

ted17.w_text_button_old module

Created on Nov 25, 2014

@author: tedlaz.

class ted17.w_text_button_old.Text_button(val, qu1, qu9, db, parent=None)[source]

Bases: PyQt5.QtWidgets.QLineEdit

Button text class

buttonClicked()[source]
edChanged()[source]
find(text)[source]
get()[source]
green()[source]
keyPressEvent(ev)[source]
red()[source]
resizeEvent(event)[source]
set(val)[source]
valNotFound

ted17.w_text_combo module

class ted17.w_text_combo.Combo(val=0, vlist=[], parent=None)[source]

Bases: PyQt5.QtWidgets.QComboBox

get()[source]
populate(vlist)[source]

Here we 1.get values from Database 2.fill Combo 3.set current index to initial value

set(id_)[source]

ted17.w_textline module

class ted17.w_textline.Text_line(val='', parent=None)[source]

Bases: PyQt5.QtWidgets.QLineEdit

Text Line Class

get()[source]
set(txt)[source]

ted17.w_textline_numbers_only module

class ted17.w_textline_numbers_only.Textline_numbers_only(val='', parent=None)[source]

Bases: ted17.w_textline.Text_line

Text field with numeric chars only left aligned.

ted17.w_tree module

class ted17.w_tree.Foo(**args)[source]

Bases: object

todic()[source]
class ted17.w_tree.Node(name, parent, txtfields, vals)[source]

Bases: object

add_child(child)[source]
child(row)[source]
child_count()[source]
name()[source]
parent()[source]
row()[source]
set_name(name)[source]
set_value(value, column)[source]
type_info()[source]
update_parent(cols)[source]
value(column)[source]
value_formated(column)[source]
class ted17.w_tree.Treedata(parent=None)[source]

Bases: PyQt5.QtWidgets.QTreeView

class ted17.w_tree.Treemodel(root, headers, parent=None)[source]

Bases: PyQt5.QtCore.QAbstractItemModel

columnCount(parent)[source]
data(index, role)[source]
flags(index)[source]
getNode(index)[source]
headerData(section, orientation, role)[source]
index(row, column, parent)[source]
parent(index)[source]
rowCount(parent)[source]
ted17.w_tree.lmo_hierarchy(lmos, split_char='.')[source]

Δίνοντας ένα λογαριασμό της μορφής x2.34.56 επιστρέφει [‘x’, ‘x2’, ‘x2.34’, ‘x2.34.56’, ‘t’, <’t267’ ή ‘t35’>]

ted17.w_tree.nc()[source]
ted17.w_tree.tst()[source]

ted17.w_weekdays module

class ted17.w_weekdays.Weekdays(val=[1, 1, 1, 1, 1, 0, 0], parent=None)[source]

Bases: PyQt5.QtWidgets.QWidget

Weekdays selection ( [1,1,1,1,1,0,0] 7 values 0 or 1, one per weekday)

get(strVal=True)[source]
mousePressEvent(event)[source]
paintEvent(event=None)[source]
reset()[source]

Set everything to Null

set(darr=[0, 0, 0, 0, 0, 0, 0])[source]
set5days()[source]

Set Standard five days week

sizeHint()[source]

ted17.w_yesno_combo module

class ted17.w_yesno_combo.Yes_no_combo(val=0, noyes=['No', 'Yes'], parent=None)[source]

Bases: PyQt5.QtWidgets.QComboBox

get()[source]
set(val)[source]

Module contents