Mercurial > louis > ofxstatement-us-hsbc
annotate src/ofxstatement/plugins/sample.py @ 0:1f85ed8ed469
Iniitial commit of sample ofxstatement plugin
author | Andrey Lebedev <andrey@lebedev.lt> |
---|---|
date | Sat, 02 Nov 2013 14:26:03 +0200 |
parents | |
children | 05135d973356 |
rev | line source |
---|---|
0
1f85ed8ed469
Iniitial commit of sample ofxstatement plugin
Andrey Lebedev <andrey@lebedev.lt>
parents:
diff
changeset
|
1 from ofxstatement.plugin import Plugin |
1f85ed8ed469
Iniitial commit of sample ofxstatement plugin
Andrey Lebedev <andrey@lebedev.lt>
parents:
diff
changeset
|
2 from ofxstatement.parser import StatementParser |
1f85ed8ed469
Iniitial commit of sample ofxstatement plugin
Andrey Lebedev <andrey@lebedev.lt>
parents:
diff
changeset
|
3 from ofxstatement.statement import StatementLine |
1f85ed8ed469
Iniitial commit of sample ofxstatement plugin
Andrey Lebedev <andrey@lebedev.lt>
parents:
diff
changeset
|
4 |
1f85ed8ed469
Iniitial commit of sample ofxstatement plugin
Andrey Lebedev <andrey@lebedev.lt>
parents:
diff
changeset
|
5 |
1f85ed8ed469
Iniitial commit of sample ofxstatement plugin
Andrey Lebedev <andrey@lebedev.lt>
parents:
diff
changeset
|
6 class SamplePlugin(Plugin): |
1f85ed8ed469
Iniitial commit of sample ofxstatement plugin
Andrey Lebedev <andrey@lebedev.lt>
parents:
diff
changeset
|
7 """Sample plugin (for developers only) |
1f85ed8ed469
Iniitial commit of sample ofxstatement plugin
Andrey Lebedev <andrey@lebedev.lt>
parents:
diff
changeset
|
8 """ |
1f85ed8ed469
Iniitial commit of sample ofxstatement plugin
Andrey Lebedev <andrey@lebedev.lt>
parents:
diff
changeset
|
9 |
1f85ed8ed469
Iniitial commit of sample ofxstatement plugin
Andrey Lebedev <andrey@lebedev.lt>
parents:
diff
changeset
|
10 def getParser(self, filename): |
1f85ed8ed469
Iniitial commit of sample ofxstatement plugin
Andrey Lebedev <andrey@lebedev.lt>
parents:
diff
changeset
|
11 return SampleParser(filename) |
1f85ed8ed469
Iniitial commit of sample ofxstatement plugin
Andrey Lebedev <andrey@lebedev.lt>
parents:
diff
changeset
|
12 |
1f85ed8ed469
Iniitial commit of sample ofxstatement plugin
Andrey Lebedev <andrey@lebedev.lt>
parents:
diff
changeset
|
13 |
1f85ed8ed469
Iniitial commit of sample ofxstatement plugin
Andrey Lebedev <andrey@lebedev.lt>
parents:
diff
changeset
|
14 class SampleParser(StatementParser): |
1f85ed8ed469
Iniitial commit of sample ofxstatement plugin
Andrey Lebedev <andrey@lebedev.lt>
parents:
diff
changeset
|
15 def __init__(self, filename): |
1f85ed8ed469
Iniitial commit of sample ofxstatement plugin
Andrey Lebedev <andrey@lebedev.lt>
parents:
diff
changeset
|
16 self.filename = filename |
1f85ed8ed469
Iniitial commit of sample ofxstatement plugin
Andrey Lebedev <andrey@lebedev.lt>
parents:
diff
changeset
|
17 |
1f85ed8ed469
Iniitial commit of sample ofxstatement plugin
Andrey Lebedev <andrey@lebedev.lt>
parents:
diff
changeset
|
18 def parse(self): |
1f85ed8ed469
Iniitial commit of sample ofxstatement plugin
Andrey Lebedev <andrey@lebedev.lt>
parents:
diff
changeset
|
19 """Main entry point for parsers |
1f85ed8ed469
Iniitial commit of sample ofxstatement plugin
Andrey Lebedev <andrey@lebedev.lt>
parents:
diff
changeset
|
20 |
1f85ed8ed469
Iniitial commit of sample ofxstatement plugin
Andrey Lebedev <andrey@lebedev.lt>
parents:
diff
changeset
|
21 super() implementation will call to split_records and parse_record to |
1f85ed8ed469
Iniitial commit of sample ofxstatement plugin
Andrey Lebedev <andrey@lebedev.lt>
parents:
diff
changeset
|
22 process the file. |
1f85ed8ed469
Iniitial commit of sample ofxstatement plugin
Andrey Lebedev <andrey@lebedev.lt>
parents:
diff
changeset
|
23 """ |
1f85ed8ed469
Iniitial commit of sample ofxstatement plugin
Andrey Lebedev <andrey@lebedev.lt>
parents:
diff
changeset
|
24 with open(self.filename, "r") as f: |
1f85ed8ed469
Iniitial commit of sample ofxstatement plugin
Andrey Lebedev <andrey@lebedev.lt>
parents:
diff
changeset
|
25 self.input = f |
1f85ed8ed469
Iniitial commit of sample ofxstatement plugin
Andrey Lebedev <andrey@lebedev.lt>
parents:
diff
changeset
|
26 return super(SampleParser, self).parse() |
1f85ed8ed469
Iniitial commit of sample ofxstatement plugin
Andrey Lebedev <andrey@lebedev.lt>
parents:
diff
changeset
|
27 |
1f85ed8ed469
Iniitial commit of sample ofxstatement plugin
Andrey Lebedev <andrey@lebedev.lt>
parents:
diff
changeset
|
28 def split_records(self): |
1f85ed8ed469
Iniitial commit of sample ofxstatement plugin
Andrey Lebedev <andrey@lebedev.lt>
parents:
diff
changeset
|
29 """Return iterable object consisting of a line per transaction |
1f85ed8ed469
Iniitial commit of sample ofxstatement plugin
Andrey Lebedev <andrey@lebedev.lt>
parents:
diff
changeset
|
30 """ |
1f85ed8ed469
Iniitial commit of sample ofxstatement plugin
Andrey Lebedev <andrey@lebedev.lt>
parents:
diff
changeset
|
31 return [] |
1f85ed8ed469
Iniitial commit of sample ofxstatement plugin
Andrey Lebedev <andrey@lebedev.lt>
parents:
diff
changeset
|
32 |
1f85ed8ed469
Iniitial commit of sample ofxstatement plugin
Andrey Lebedev <andrey@lebedev.lt>
parents:
diff
changeset
|
33 def parse_record(self, line): |
1f85ed8ed469
Iniitial commit of sample ofxstatement plugin
Andrey Lebedev <andrey@lebedev.lt>
parents:
diff
changeset
|
34 """Parse given transaction line and return StatementLine object |
1f85ed8ed469
Iniitial commit of sample ofxstatement plugin
Andrey Lebedev <andrey@lebedev.lt>
parents:
diff
changeset
|
35 """ |
1f85ed8ed469
Iniitial commit of sample ofxstatement plugin
Andrey Lebedev <andrey@lebedev.lt>
parents:
diff
changeset
|
36 return StatementLine() |