* fix: Always bold report header row
* fix: update test cases
* refactor: add option to bold filter rows in XLSX output
* chore: minor changes
* chore: rename index variable
* revert: undo bold filters param use
* refactor: remove duplication for building xlsx data
* revert: add has_filters parameter to check for filter row bold
* refactor: add type hints and docstrings for XLSX data handling functions
The way openpyxl parses files is very different, and read only seems to break with certain files
It tries to head information about the max rows/columns from the header in the case of read only
which can be wrong sometimes.
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
Converted all possible usages of re.* that weren't compiling the regex
separately and re-using it. Separated out the compiled patterns as
global variables. Repetitive patterns could be made DRY-er.
Would be nicer to have all regexes in a single module so that we could
re-use better, keep track of outdated, and keep checks for possible
reDos' etc
The license.txt file has been replaced with LICENSE for quite a while
now. INAL but it didn't seem accurate to say "hey, checkout license.txt
although there's no such file". Apart from this, there were
inconsistencies in the headers altogether...this change brings
consistency.
* migrate more functions to file class
* add get_content(), returns file content from file_name
* move get_file_path() to get_full_path() to decrease naming ambiguity
Signed-off-by: Chinmay Pai <chinmaydpai@gmail.com>
* Data export tool
New doctype to export data
Child table export option
Ability to add filter
* Filter view refactor
Separated filter css
* Moved exporter script from data import doctype to data export doctype
* some input validation
* removed unwanted file and some style fixes
* removed console log
* hide sidebar
* renamed export method
* added data export link in setup module page
* minor fix
* refactor exporter.py
* data export ui tweaks
* codacy and bug fix
* silly code fixes
* [minor] indentation fix
StringIO and cStringIO modules are replaced with io.StringIO in
Python 3. six.StringIO is an alias for StringIO.StringIO in
Python 2 and io.StringIO in Python 3