You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by pq...@apache.org on 2009/08/24 04:28:05 UTC
svn commit: r807047 - /labs/mboxed/trunk/mboxed/mboxed/bin/mboxed-import.py
Author: pquerna
Date: Mon Aug 24 02:28:05 2009
New Revision: 807047
URL: http://svn.apache.org/viewvc?rev=807047&view=rev
Log:
Start scanning directories for mbox files.
Modified:
labs/mboxed/trunk/mboxed/mboxed/bin/mboxed-import.py
Modified: labs/mboxed/trunk/mboxed/mboxed/bin/mboxed-import.py
URL: http://svn.apache.org/viewvc/labs/mboxed/trunk/mboxed/mboxed/bin/mboxed-import.py?rev=807047&r1=807046&r2=807047&view=diff
==============================================================================
--- labs/mboxed/trunk/mboxed/mboxed/bin/mboxed-import.py (original)
+++ labs/mboxed/trunk/mboxed/mboxed/bin/mboxed-import.py Mon Aug 24 02:28:05 2009
@@ -12,19 +12,37 @@
from mboxed.config.environment import load_environment
-def read_mboxes(root, name):
- from mboxed import model
+model = None
+
+def read_mboxes(root, name, list):
p = _pjoin(root, name, "*.mbox")
files = glob.glob(p)
- print files
+ # print files
+
+def find_by_path(existing, p):
+ try:
+ return (e for e in existing if e.path == p).next()
+ except StopIteration:
+ return None
def scan_root(path):
+ # assumes it is best to just do a full table scan once, rather than
+ # querying the database all the time.... 'prolly right most of the time.
+ existing = model.Session.query(model.Lists).all()
paths = os.listdir(path)
for p in paths:
+ p = unicode(p)
if os.path.isdir(_pjoin(path, p)):
- read_mboxes(path, p)
+ list = find_by_path(existing, p)
+ if list is None:
+ list = model.Lists(path=p)
+ model.Session.begin()
+ read_mboxes(path, p, list)
+ model.Session.add(list)
+ model.Session.commit()
def main():
+ global model
parser = OptionParser()
parser.add_option("-c", "--config", dest="config",
help="configuration file", metavar="FILE")
@@ -41,7 +59,8 @@
p = os.path.abspath(options.config)
conf = appconfig('config:' + p)
load_environment(conf.global_conf, conf.local_conf)
- engine = pylons.database.create_engine()
+ from mboxed import model as _model
+ model = _model
scan_root(config['mboxed_root'])
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org