Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/armin_structuring' NEW: Memacs M…
Browse files Browse the repository at this point in the history
…odules, new Structure

new Memacs modules:
- SMS
- Phonecalls
- CSV
- Photos (EXIF)

Signed-off-by: Armin Wieser <armin.wieser@gmail.com>
  • Loading branch information
awieser committed Mar 28, 2012
2 parents 04b0fea + 2aa5420 commit 35f0eb6
Show file tree
Hide file tree
Showing 101 changed files with 1,834 additions and 597 deletions.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,5 @@ rss/vktmp
rss/error.org_archive
filenametimestamps/vktmp/
benchmarking
Makefile
Makefile
core
70 changes: 37 additions & 33 deletions README.org
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## Time-stamp: <2012-03-16 16:56:30 vk>
## Time-stamp: <2012-03-28 22:16:14 armin>
## This file is best viewed with GNU Emacs Org-mode: http://orgmode.org/

*What were you doing* on February 14th of 2007? On *which tasks* were
Expand Down Expand Up @@ -29,52 +29,54 @@ connectors that add data from individual data sources. Those connectors
are called «Memacs modules» or short «module».

For usage, best practices, frequently asked questions and their answers
*please refer to the file FAQs_and_Best_Practices.org*
*please refer to the file docs/FAQs_and_Best_Practices.org*


* Memacs Modules

*Existing modules*:

- *file name timestamps*: see filenametimestamps/works-for-me-hack/memacs-filenametimestamps.org
- emails:
- *[[http://en.wikipedia.org/wiki/Mbox][mbox]]-format*: see emails/mbox/works-for-me-hack/memacs-mbox.org
- [[http://en.wikipedia.org/wiki/Maildir][Maildir]]: see emails/maildir/memacs-maildir.org
- RSS: see rss/memacs-rss.org
- [[http://Twitter.com][twitter]]: see rss/memacs-rss.org
- [[http://delicious.com][delicious]]: see rss/memacs-rss.org
- newsgroups:
- *[[http://en.wikipedia.org/wiki/Slrn][slrn]]*: see emails/mbox/works-for-me-hack/memacs-mbox.org
- versioning systems:
- [[http://en.wikipedia.org/wiki/Git_(software)][git]]: see versioning_systems/git/memacs-git.org
- Subversion: see versioning_systems/svn/memacs-svn.org
- calendar:
- ics - calendar (i.e. Google Calendar): see calendar/memacs-calendar.org
- *file name timestamps*: see docs/memacs_filenametimestamps.org
- *emails*:
- [[http://en.wikipedia.org/wiki/Internet_Message_Access_Protocol][IMAP]] : see docs/memacs_imap.org
- *RSS*: see docs/memacs_rss.org i.e. for twitter,delicious,...
- *versioning systems*:
- [[http://en.wikipedia.org/wiki/Git_(software)][git]]: see docs/memacs_git.org
- [[http://en.wikipedia.org/wiki/Subversion][Subversion]]: see docs/svn/memacs_svn.org
- *calendar*:
- [[http://en.wikipedia.org/wiki/ICalendar][iCalendar]] (i.e. Google Calendar): see docs/memacs_calendar.org
- [[http://en.wikipedia.org/wiki/Comma_seperated_values][CSV]] Files: see docs/memacs_csv.org
- *SMS*: see docs/memacs_sms.org
- *Phonecalls*: see docs/memacs_phonecalls.org
- *Photos* (date from [[http://en.wikipedia.org/wiki/Exif][EXIF]]): see docs/memacs_photos.org
- *example*: see docs/memacs_csv.org
This module is just for developing purposes.

Those modules are *not* adopted to the new framework:

- *mails*:
- *[[http://en.wikipedia.org/wiki/Mbox][mbox]]-format*: see emails/mbox/works-for-me-hack/memacs_mbox.org
- [[http://en.wikipedia.org/wiki/Maildir][Maildir]]: see emails/maildir/memacs_maildir.org

- *bank account*:
- [[http://www.easybank.at][easybank.at]]: see bank_statements/easybank.at/memacs-easybank.org
- [[http://www.easybank.at][easybank.at]]: see tmp/bank_statements/easybank.at/memacs_easybank.org

- *newsgroups*
- *[[http://en.wikipedia.org/wiki/Slrn][slrn]]*: see emails/mbox/works-for-me-hack/memacs_mbox.org

Those modules will be developed in the *next weeks or months*:

- emails:
- [[http://en.wikipedia.org/wiki/Maildir][Maildir]]: see emails/maildir/memacs-maildir.org
- bookmarks:
- [[http://delicious.com][delicious]]: see bookmarks/delicious/memacs-delicious.org
- [[http://Twitter.com][twitter]]:
- [[http://grabeeter.tugraz.at/][grabeeter]]: see twitter/memacs-grabeeter.org
- [[http://tagstore.org][tagstore]]: see tagstore/memacs-tagstore.org
- short message system (SMS): see sms/memacs-sms.org
- calls:
- mobile phone: see phone-calls/memacs-mobilecalls.org
- *[[http://tagstore.org][tagstore]]*: see tmp/tagstore/memacs_tagstore.org

Following modules exist as a rough idea only and might get implemented
some day (by you?):

- calendar:
- [[http://www.jpilot.org/][JPilot]]-datebook: see calendar/memacs-jpilot-datebook.org
- tasks:
- [[http://www.jpilot.org/][JPilot]]-todos: see tasklists/jpilot-todos/memacs-jpilot-todos.org
- blog_systems:
- [[http://en.wikipedia.org/wiki/Serendipity_(weblog_software)][Serendipity]]: see blog_systems/serendipity/memacs-serendipity.org
- *calendar*:
- [[http://www.jpilot.org/][JPilot]]-datebook: see calendar/memacs_jpilot-datebook.org
- *tasks*:
- [[http://www.jpilot.org/][JPilot]]-todos: see tasklists/jpilot-todos/memacs_jpilot-todos.org
- *blog_systems*:
- [[http://en.wikipedia.org/wiki/Serendipity_(weblog_software)][Serendipity]]: see blog_systems/serendipity/memacs_serendipity.org


* Example Story
Expand Down Expand Up @@ -163,6 +165,8 @@ combination.
If you want to contribute to this cool project, please fork and
contribute or write an additional module!

See docs/FAQs_and_Best_Practices.org for more developing information.

We are sure that there are a *lot* of cool ideas for other modules out
there! This is just the beginning!

Expand Down
File renamed without changes.
34 changes: 34 additions & 0 deletions bin/memacs_csv.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Time-stamp: <2012-02-22 17:12:59 armin>

from memacs.csv import Csv

PROG_VERSION_NUMBER = u"0.1"
PROG_VERSION_DATE = u"2012-02-24"
PROG_SHORT_DESCRIPTION = u"Memacs for csv files"
PROG_TAG = u"csv"
PROG_DESCRIPTION = u"""
This Memacs module will parse csv files
"""
# set CONFIG_PARSER_NAME only, when you want to have a config file
# otherwise you can comment it out
# CONFIG_PARSER_NAME="memacs-example"
COPYRIGHT_YEAR = "2012"
COPYRIGHT_AUTHORS = """Karl Voit <tools@Karl-Voit.at>,
Armin Wieser <armin.wieser@gmail.com>"""


if __name__ == "__main__":
memacs = Csv(
prog_version=PROG_VERSION_NUMBER,
prog_version_date=PROG_VERSION_DATE,
prog_description=PROG_DESCRIPTION,
prog_short_description=PROG_SHORT_DESCRIPTION,
prog_tag=PROG_TAG,
copyright_year=COPYRIGHT_YEAR,
copyright_authors=COPYRIGHT_AUTHORS
# use_config_parser_name=CONFIG_PARSER_NAME
)
memacs.handle_main()
43 changes: 43 additions & 0 deletions bin/memacs_example.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Time-stamp: <2012-02-22 17:12:59 armin>

from memacs.example import Foo

PROG_VERSION_NUMBER = u"0.0"
PROG_VERSION_DATE = u"2011-12-18"
PROG_SHORT_DESCRIPTION = u"Memacs for ... "
PROG_TAG = u"mytag"
PROG_DESCRIPTION = u"""
this class will do ....
Then an Org-mode file is generated that contains ....
if youre module needs a config file please give information about usage:
sample config:
[memacs-example] <-- "memacs-example" has to be CONFIG_PARSER_NAME
foo = 0
bar = 1
"""
# set CONFIG_PARSER_NAME only, when you want to have a config file
# otherwise you can comment it out
# CONFIG_PARSER_NAME="memacs-example"
COPYRIGHT_YEAR = "2011-2012"
COPYRIGHT_AUTHORS = """Karl Voit <tools@Karl-Voit.at>,
Armin Wieser <armin.wieser@gmail.com>"""


if __name__ == "__main__":
memacs = Foo(
prog_version=PROG_VERSION_NUMBER,
prog_version_date=PROG_VERSION_DATE,
prog_description=PROG_DESCRIPTION,
prog_short_description=PROG_SHORT_DESCRIPTION,
prog_tag=PROG_TAG,
copyright_year=COPYRIGHT_YEAR,
copyright_authors=COPYRIGHT_AUTHORS
# use_config_parser_name=CONFIG_PARSER_NAME
)
memacs.handle_main()
35 changes: 35 additions & 0 deletions bin/memacs_filenametimestamps.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Time-stamp: <2011-10-28 15:13:31 aw>

from memacs.filenametimestamps import FileNameTimeStamps

PROG_VERSION_NUMBER = u"0.1"
PROG_VERSION_DATE = u"2011-12-28"
PROG_SHORT_DESCRIPTION = u"Memacs for file name time stamp"
PROG_TAG = u"filedatestamps"
PROG_DESCRIPTION = u"""This script parses a text file containing absolute paths
to files with ISO datestamps and timestamps in their file names:
Examples: "2010-03-29T20.12 Divegraph.tiff"
"2010-12-31T23.59_Cookie_recipies.pdf"
"2011-08-29T08.23.59_test.pdf"
Emacs tmp-files like file~ are automatically ignored
Then an Org-mode file is generated that contains links to the files.
"""
COPYRIGHT_YEAR = "2011-2012"
COPYRIGHT_AUTHORS = """Karl Voit <tools@Karl-Voit.at>,
Armin Wieser <armin.wieser@gmail.com>"""

if __name__ == "__main__":

memacs = FileNameTimeStamps(prog_version=PROG_VERSION_NUMBER,
prog_version_date=PROG_VERSION_DATE,
prog_description=PROG_DESCRIPTION,
prog_short_description=PROG_SHORT_DESCRIPTION,
prog_tag=PROG_TAG,
copyright_year=COPYRIGHT_YEAR,
copyright_authors=COPYRIGHT_AUTHORS)
memacs.handle_main()
36 changes: 36 additions & 0 deletions bin/memacs_git.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Time-stamp: <2011-12-20 15:13:31 aw>

from memacs.git import GitMemacs

PROG_VERSION_NUMBER = u"0.1"
PROG_VERSION_DATE = u"2011-12-20"
PROG_SHORT_DESCRIPTION = u"Memacs for git files "
PROG_TAG = u"git"
PROG_DESCRIPTION = u"""
This class will parse files from git rev-parse output
use following command to generate input file
$ git rev-list --all --pretty=raw > /path/to/input file
Then an Org-mode file is generated that contains all commit message
If outputfile is specified, only non-existing commits are appended
"""
COPYRIGHT_YEAR = "2011-2012"
COPYRIGHT_AUTHORS = """Karl Voit <tools@Karl-Voit.at>,
Armin Wieser <armin.wieser@gmail.com>"""


if __name__ == "__main__":
memacs = GitMemacs(
prog_version=PROG_VERSION_NUMBER,
prog_version_date=PROG_VERSION_DATE,
prog_description=PROG_DESCRIPTION,
prog_short_description=PROG_SHORT_DESCRIPTION,
prog_tag=PROG_TAG,
copyright_year=COPYRIGHT_YEAR,
copyright_authors=COPYRIGHT_AUTHORS
)
memacs.handle_main()
28 changes: 28 additions & 0 deletions bin/memacs_ical.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Time-stamp: <2011-10-28 15:13:31 aw>

from memacs.ical import CalendarMemacs

PROG_VERSION_NUMBER = u"0.1"
PROG_VERSION_DATE = u"2011-12-28"
PROG_SHORT_DESCRIPTION = u"Memacs for ical Calendars"
PROG_TAG = u"calendar"
PROG_DESCRIPTION = u"""This script parses a *.ics file and generates
Entries for VEVENTS
* other's like VALARM are not implemented by now
"""
COPYRIGHT_YEAR = "2011-2012"
COPYRIGHT_AUTHORS = """Karl Voit <tools@Karl-Voit.at>,
Armin Wieser <armin.wieser@gmail.com>"""

if __name__ == "__main__":
memacs = CalendarMemacs(prog_version=PROG_VERSION_NUMBER,
prog_version_date=PROG_VERSION_DATE,
prog_description=PROG_DESCRIPTION,
prog_short_description=PROG_SHORT_DESCRIPTION,
prog_tag=PROG_TAG,
copyright_year=COPYRIGHT_YEAR,
copyright_authors=COPYRIGHT_AUTHORS
)
memacs.handle_main()
42 changes: 42 additions & 0 deletions bin/memacs_imap.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Time-stamp: <2012-01-07 19:55:25 armin>

from memacs.imap import ImapMemacs

PROG_VERSION_NUMBER = u"0.1"
PROG_VERSION_DATE = u"2011-12-30"
PROG_SHORT_DESCRIPTION = u"Memacs for imap emails"
PROG_TAG = u"emails:imap"
PROG_DESCRIPTION = u"""The memacs module will connect to an IMAP Server,
fetch all mails of given folder (-f or --folder-name <folder>),
parses the mails and writes them to an orgfile.
This module uses configfiles (-c, --config-file <path>)
sample-config:
[memacs-imap]
host = imap.gmail.com
port = 993
user = foo@gmail.com
password = bar
"""
CONFIG_PARSER_NAME = "memacs-imap"
COPYRIGHT_YEAR = "2011-2012"
COPYRIGHT_AUTHORS = """Karl Voit <tools@Karl-Voit.at>,
Armin Wieser <armin.wieser@gmail.com>"""


if __name__ == "__main__":
memacs = ImapMemacs(
prog_version=PROG_VERSION_NUMBER,
prog_version_date=PROG_VERSION_DATE,
prog_description=PROG_DESCRIPTION,
prog_short_description=PROG_SHORT_DESCRIPTION,
prog_tag=PROG_TAG,
copyright_year=COPYRIGHT_YEAR,
copyright_authors=COPYRIGHT_AUTHORS,
use_config_parser_name=CONFIG_PARSER_NAME
)
memacs.handle_main()
43 changes: 43 additions & 0 deletions bin/memacs_phonecalls.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Time-stamp: <2011-10-28 15:13:31 aw>

from memacs.phonecalls import PhonecallsMemacs

PROG_VERSION_NUMBER = u"0.1"
PROG_VERSION_DATE = u"2012-03-08"
PROG_SHORT_DESCRIPTION = u"Memacs for phonecalls"
PROG_TAG = u"phonecalls"
PROG_DESCRIPTION = u"""
This Memacs module will parse output of phonecalls xml backup files
sample xml file:
<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<calls count="8">
<call number="+43691234123" duration="59" date="1312563906092" type="1" />
<call number="06612341234" duration="22" date="1312541215834" type="2" />
<call number="-1" duration="382" date="1312530691081" type="1" />
<call number="+4312341234" duration="289" date="1312482327195" type="1" />
<call number="+4366412341234" duration="70" date="1312476334059" type="1" />
<call number="+4366234123" duration="0" date="1312473751975" type="2" />
<call number="+436612341234" duration="0" date="1312471300072" type="3" />
<call number="+433123412" duration="60" date="1312468562489" type="2" />
</calls>
Then an Org-mode file is generated.
"""
COPYRIGHT_YEAR = "2011-2012"
COPYRIGHT_AUTHORS = """Karl Voit <tools@Karl-Voit.at>,
Armin Wieser <armin.wieser@gmail.com>"""

if __name__ == "__main__":
memacs = PhonecallsMemacs(
prog_version=PROG_VERSION_NUMBER,
prog_version_date=PROG_VERSION_DATE,
prog_description=PROG_DESCRIPTION,
prog_short_description=PROG_SHORT_DESCRIPTION,
prog_tag=PROG_TAG,
copyright_year=COPYRIGHT_YEAR,
copyright_authors=COPYRIGHT_AUTHORS
)
memacs.handle_main()
Loading

0 comments on commit 35f0eb6

Please sign in to comment.