KrySA¶
-
class
main.
Body
(**kw)[source]¶ The main layout for the application. It handles menu values, their appropriate functions, filtering of user’s input and functions for accessing Data file in
main.Table
.New in version 0.1.0.
-
_export_data
(selection, fname, *args)[source]¶ Exports all available Data (visible as tabs) as Data file into path selected in
Dialog
.New in version 0.1.1.
-
static
_extract_rows
(data)[source]¶ Extract values from
main.Table
‘s dictionary into a flat list.Example:
Data1 Data2 Data3 1 2.0 3 [u’Data1’, u’Data2’, u’Data3’, u‘1’, 2.0, 3, ...]
New in version 0.1.0.
-
_import_data
(selection, *args)[source]¶ Imports Data file from path selected in
Dialog
and puts it tomain.Table
.New in version 0.1.0.
-
_new_data
(*args)[source]¶ Opens a wizard for creating a new Data if a Project is available or shows a warning if it doesn’t exist.
New in version 0.1.3.
-
_new_project
(*args)[source]¶ Closes already opened Project if available and opens a dialog for creating a new one.
New in version 0.1.2.
-
_open_project
(selection, *args)[source]¶ Opens a Project from path selected in
Dialog
and imports Data file.New in version 0.1.7.
-
_save_data
(wizard, *args)[source]¶ Gets data from the wizard, puts them into
main.Table
and exports them into Data file.New in version 0.1.4.
-
_save_project
(selection=None, fname=None, *args)[source]¶ Saves a Project to path selected in
Dialog
and exports Data file.New in version 0.1.2.
-
static
about
(*args)[source]¶ Displays about page of the app and includes other credits.
New in version 0.1.0.
-
close_project
(*args)[source]¶ Clears all important variables, removes all Data available in
main.Table
and switches tomain.ProcessFlow
.New in version 0.1.0.
-
from_address
(table, address, extended=False, *args)[source]¶ Gets value(s) from
main.Table
according to the address such asA1
orA1:B2
. Values are fetched in the way that the final list contains even empty (u''
) values. It is not expected of user to use Task for strings and most of them won’t even run. To get non-empty values for a Task use for example Python’sfilter()
:values = filter(lambda x: len(str(x)), values)
This filter, however, will remain values such as
None
untouched.New in version 0.1.0.
Changed in version 0.3.5: Added extended options and a possibility to get
:all
values from data.
-
set_page
(task, result, result_type='text', footer='time')[source]¶ Creates a
main.PageBox
for a result. The header consists of the Task‘s name, the footer is by default the time when the result was created and the content depends on result_type which can be - text, image(path to image) or widget. If result_type == ‘widget’, result has to be an instance of a widget (obviously containing the output), e.g.:b = Button(text='my output') set_page('MyTask', b, result_type='widget')
Note
When exporting pages, everything is converted into images (pngs), therefore making fancy behaving widgets is irrelevant.
New in version 0.2.0.
Changed in version 0.3.2: Added tables as a result type.
-
-
class
main.
CreateWizard
(**kw)[source]¶ A popup handling the behavior for creating a new Data, i.e a wizard.
New in version 0.1.3.
-
class
main.
Dialog
(**kw)[source]¶ A dialog handling the behavior for creating or opening files e.g. Project or Data.
New in version 0.1.0.
-
class
main.
ErrorPop
(**kw)[source]¶ An error popup to let user know something is missing or typed wrong when console is disabled.
New in version 0.1.2.
-
class
main.
ImgButton
(**kwargs)[source]¶ A button with an image of square shape in the middle.
New in version 0.2.0.
-
class
main.
KrySA
(**kwargs)[source]¶ The main class of the application through which is handled the communication of other classes with getting an instance of the app via
App.get_running_app()
.Other than that, it holds important variables of Project, sql blacklist for Data file creating and updating or the application properties themselves.
-
class
main.
MenuDrop
(**kw)[source]¶ A list of
main.SizedButton
s displayed as a menu, where each button may create another menu depending on the function bound to it. The main menu is handled through a single instance ofmain.MenuDrop
which is instantiated beforemain.Krysa.build
function.Each click/tap on the menu button then assigns a value to it from
App.menu
dictionary according to its name in kv file.New in version 0.1.0.
-
class
main.
NewDataColumn
(**kw)[source]¶ A layout handling the behavior of type, values(
NewDataValue
) and some buttons for each new column in Data.New in version 0.1.4.
-
checklock
(disable, coltype, check, *args)[source]¶ Disables all cells in the column, then check them against a list of strings that could be used to corrupt Data file . If the check is done without an error, another check is made to protect against using an empty string
''
as a value, which if used inappropriately results in a crash.New in version 0.1.4.
-
static
free
(items)[source]¶ Frees all locked cells in the column except a column type. If a wrong type is used, removing the whole column is necessary. (protection against corrupting Data file)
New in version 0.1.4.
-
paste
(values, sep)[source]¶ Paste a value(s) from a user’s clipboard as a column values. A user can choose what kind of separator was used on the values, for example:
1 2 3 4 5 # (space) 1\t2\t3\t4\t # (tab) 1\n2\n3\n4\n # Unix-like new line character (<enter>/<return>)
If in doubt and your values were copied from a column (e.g. spreadsheet), use OS default, which will choose between
\n
(Unix-like) or\r\n
(Windows) new line separators.New in version 0.3.4.
-
-
class
main.
NewDataLayout
(**kw)[source]¶ A layout handling the behavior of
NewDataColumn
and some inputs for each new value in Data.New in version 0.1.3.
-
class
main.
NewDataValue
(**kw)[source]¶ A layout handling the behavior of inputs and button for each new value in Data.
New in version 0.1.4.
-
class
main.
PageBox
(**kwargs)[source]¶ A layout that includes Page widget together with transparent separator. It’s used for adding new results from Tasks.
New in version 0.2.0.
-
class
main.
PaperLabel
(**kwargs)[source]¶ A label with visual properties as a paper sheet.
New in version 0.2.0.
-
class
main.
ProcessFlow
(**kw)[source]¶ A canvas on which will be displayed actions for each Data related to them, such as used tasks connected with result of the tasks.
New in version 0.1.0.
(Not implemented yet)
-
class
main.
ResultGrid
(**kwargs)[source]¶ A black gridlayout, together with
main.Wrap
makes a table container for results that need a table.New in version 0.3.2.
-
class
main.
SideItem
(**kwargs)[source]¶ Supposed to be a part of settings, most likely will be removed/replaced.
New in version 0.1.0.
-
class
main.
SizedButton
(**kwargs)[source]¶ A button with width automatically customized according to text length of its siblings, which makes every sibling the same size as the one with the longest text string.
New in version 0.1.0.
-
class
main.
Table
(**kw)[source]¶ A view handling the behavior of the inputs from Data file. Separates the values from Data file according to its Data‘s column types into three Python categories - int, float or unicode and assigns an alphabetic order for each column together with row number to each value.
New in version 0.1.0.
-
clean
(*args)[source]¶ Removes all data from
main.Table
New in version 0.1.0.
-
-
class
main.
TableItem
(**kwargs)[source]¶ An item handling the behavior or each separate value in the
main.Table
such as updating/editing values in Data.New in version 0.1.0.
-
on_focus
(widget, focused)[source]¶ Makes sure the unconfirmed value is discarded e.g. when clicked outside of the widget.
-
update_value
(txt, *args)[source]¶ On
<enter>
(return
) key updates the valuesmain.TableItem.text
andmain.TableItem.old_text
inmain.Table
.New in version 0.1.0.
-