Skip to content
  • Cage, Marshall Andrew's avatar
    Fix first run bugs · a331b49d
    Cage, Marshall Andrew authored
    After testing on a different machine, a few new bugs reared their
    heads. These have been squashed for now.
    
    - Reorganise project
    - Allow email fetch without filters (only if mailbox is explicit)
    - Handle incorrect login credential crash
    - Update document dump description
    - Clean up certain imports
    - Fix empty contents section bug when opening a profile
    - Add static method to emit profileChanged signal
    - migrate to new repo (but I didn't want to keep revision history,
        hence the copy/paste)
    
    Date:   Tue Jul 26 11:48:55 2016 -0400
    
    Fix divide by zero bug in glob.py
    
    - Fix wrong email body being searched in
        emailscrapebasic:constructFragments
    
    Date:   Tue Jul 26 10:53:27 2016 -0400
    
    Update documentation
    
    In preparation for impending release, the documentation has been
    updated to describe installation procedure. It also explains how to
    create new packages and plugins.
    
    - Add PreferenceManager for persistant module and plugin level prefs
    - Add prefernce save/load
    - Fix package search path to look in the executable's directory, not
     the cwd
    - Add preferences for default package (email stuff)
    
    Date:   Thu Jul 14 12:24:32 2016 -0400
    
    Add profile save status
    
    I beefed up saving profiles. I removed 'Report' and made the
    Profile the main data container. Open, Save and New all now open/
    save/create Profiles. Shortcut keys work as expected (^+s, ^+o,
    ^+n, ^+shift+s.) The title of the window now reflects the Profile
    name (instead of the Report title) and the save state. I added a
    new signal to the ARCTool class. When the first instance is
    created, the Class's signal is replaced with the instance's signal.
    Whenever the save state of the profile is changed, the main ARCTool
    gets notified via this signal. Modules with QLineEdits, QTextEdits,
    QCheckBoxes, QSpinBoxes, QDateTimeEdits and some others will
    automatically notify the tool that the profile has changed. But,
    for custom widgets or certain signals, the signal will need to be
    mannually emitted.
    
    - Add 'Save Profile As...' action
    - Remove 'Open' and 'Save' which were for Reports
    - Fix tableChanged signal in emailfilter to reflect individual
      filter changes
    - Add Document Module to insert documents via pandoc.
    - Add docx exporting
    - Swap odf (QT) export with odt (pandoc)
    - Fix Section heading style on export (add <h1/> tags)
    
    Date:   Tue Jul 12 16:54:47 2016 -0400
    
    Fix certain formattings
    
    Date:   Tue Jul 12 16:15:58 2016 -0400
    
    Add PreferenceManager
    
    PreferenceManager adds additional persistance for more concrete
    settings that might span modules. Preferences are stored in
    wherever QT's AppData folder is located. Preferences can be set
    for packages as a whole or individual modules in the preferenceDict
    of either.
    
    - Format code to PEP 8 (mostly)
    - Fix OR in email filters
    - Add highlight non existant filter labels
    - Add mailbox select
    - Add IMAP server preference
    - Add IMAP port preference
    - Add SSL preference
    - Add statusBar messages
    - Add IMAP error handling
    - Add strip email replies
    - Add strip email headers from inline
    - Add strip email's duplicate text
    - Add strip email's extra whitespace
    - Add strip email formatting
    - Add email delimiter
    - Fix minor bugs all over the place
    
    Date:   Fri Jul 1 17:06:40 2016 -0400
    
    Tweak NLP to better recognise lines and paragraphs
    
    - Tweak email representations (images)
    - Add other export options
    
    Date:   Thu Jun 30 16:36:16 2016 -0400
    
    Finish first pass of NLP
    
    Basic email scraping is there but it's somewhat lacking. Output
    formatting works fine, but text detection could use work. Next I
    should add wc matching (making sure we have as many words in the
    selection as the samples.) When there is uncertainty in the match
    the output is marked in red (in the document) and tagged with the
    (un?)certainty percentage.
    
    - Add context checking to emailsrapebasic Module
    - Add contextChanged signal to ARCTool
    - Fix email rendering in emailscrapebasic (images and such)
    - Disable group/selectionBox when appropriatae
    - Tweak emailsrapebasic.ui
    - Tweak Date Context
    
    Date:   Wed Jun 29 16:59:25 2016 -0400
    
    Add Glob and GlobItem for NLP
    
    If anyone sees this, keep in mind I'm self teaching NLP thru
    intuition and I'm not a statistician, so...
    
    Date:   Tue Jun 28 16:59:27 2016 -0400
    
    Add Group assignment
    
    Add Group selection
    Begin NLP in email filters
    Fix filter label bug (\w+)
    
    Date:   Mon Jun 27 16:54:13 2016 -0400
    
    Connect filters to IMAP Fetch
    
    Add basic email loading in 'mailBrowser' widget. HTML/plain text
    Add LoginDialog for taking usernames/passwords
    
    Date:   Fri Jun 24 17:41:34 2016 -0400
    
    Add more regex
    
    Date:   Thu Jun 23 16:51:41 2016 -0400
    
    Add EmailFilterTable
    
    Began the EmailFilterTable class which allows the user to create
    and label IMAPv4 filters for search. Much of the logic checking is
    implemented in the validator for the logic LineEdit.
    
    Add emailscrapebasic module
    Add basic documentation structure (sphinx)
    Adjust margins in TextEdit (textedit.py)
    
    Date:   Fri Jun 17 16:47:33 2016 -0400
    
    Tweak modules, reorganise files
    
    Date:   Fri Jun 17 14:17:19 2016 -0400
    
    Add Text module in Default package
    
    The Text module is just a simple rich text editor. It tracks its
    state through an html string stored as an extra. It also makes use
    of a seperate python file to implement its ui. This proves that
    modules should be able to consist of multiple files.
    
    -Add extra icons (need to be renamed)
    -Add entry recall for the List module
    -Add font recall for the Cover Page module
    -Add 'extras' for modules (can store non UI state data)
    -Add template Module in packages/Default/template.py/ui
    
    Date:   Thu Jun 16 16:54:10 2016 -0400
    
    Add more persistence
    
    Added persistence for contexts and whether or not titles are drawn.
    
    -Fix load settings from profile (mostly)
    -Fix minor save profile errors
    -Change to QTextDocument to preserve formatting
    -Add export to pdf
    -Remove export to docx
    -Add ORNL package with cover page module
    -Add list module to default package
    
    Date:   Tue Jun 14 14:01:26 2016 -0400
    
    Setup proper value packing for module persistence
    
    Date:   Mon Jun 13 11:45:32 2016 -0400
    
    Add basic Document export to to .docx
    
    A Document can be exported to a .docx. The content of the document
    is retrieved from the Content objects in a given Section. To update
    the Contents in a Section, the Section's updateConent calls its
    Module's storeOptions and then its Module's generate. It's on the
    module developer to make sure his module's storeOptions or generate
    performs the steps necessary to produce the desired output.
    storeOptions is also (will be, rather) called when the Profile is
    saved (so that the module state can be restored later.) Therefore,
    storeOptions should only do things like grabbing information from
    ui elements (textboxes, etc.) and calculations or data fetch should
    be left in generate.
    
    - Add Document class to hold data before export
    - Add .docx export
    - Add Content classes to abstract document content
    - Fix moduleSelectDialog title
    - Add generateReport and exportReport to MainWindow
    
    Date:   Fri Jun 10 17:00:11 2016 -0400
    
    Fix open profile to load module (but not options)
    
    Date:   Fri Jun 10 14:55:29 2016 -0400
    
    Change Packages to use python module utilities
    
    In order to more easily/properly load python code, Packages were
    restructured to behave as python modules, and each Module is a sub-
    module.
    
    Date:   Thu Jun 9 20:27:39 2016 -0400
    
    Add Profile open support
    
    Openning the profile correctly reconstructs the section list, but
    doesn't load module information, as that stuff isn't even stored
    yet.
    
    - Add .ui for test modules
    - Fix enabled moduleToolsWidget after deleting last section
    - Fix minor save profile formmating issues
    
    Date:   Thu Jun 9 17:09:43 2016 -0400
    
    Add Module Select dialog
    - Remove module combobox
    - Flesh out Module class
    - Add Package class
    
    Date:   Thu Jun 9 10:00:26 2016 -0400
    
    Add default Contexts
    - Add Date Context
    - Add Time Context
    - Add 'None' Context
    - Add Context widget swapping
    - Fix splitter expansion and section tools width
    - Create *.ui build script
    - Fix .gitignore
    
    Date:   Wed Jun 8 14:38:37 2016 -0400
    
    Add Profile saving
    - Add Profile saving
    - Add XMLEscape function
    - Add Profile, Section and Module serialisation
    - Add 'Profile:' and 'Report:' labels
    - Add .gitignore
    
    Date:   Wed Jun 8 10:38:59 2016 -0400
    
    Create repo
    a331b49d