60 lines
1.5 KiB
Python
60 lines
1.5 KiB
Python
|
# -*- coding: utf-8 -*-
|
||
|
import os
|
||
|
from contextlib import closing
|
||
|
import sqlite3
|
||
|
|
||
|
DATABASE = '/tmp/notes.db'
|
||
|
|
||
|
def add_all_notes_in_dir(path):
|
||
|
os.chdir(path)
|
||
|
subjects = os.listdir(os.getcwd())
|
||
|
if "bootstrap" in subjects:
|
||
|
subjects.remove("bootstrap")
|
||
|
for subject in subjects:
|
||
|
os.chdir(subject)
|
||
|
for date in os.listdir(os.getcwd()):
|
||
|
notes = []
|
||
|
os.chdir(date)
|
||
|
for note in os.listdir(os.getcwd()):
|
||
|
notes.append({"tags": "none", "name": note})
|
||
|
add_note(subject, date, notes)
|
||
|
os.chdir("..")
|
||
|
os.chdir("..")
|
||
|
|
||
|
|
||
|
def add_note(subject, datestring, notes):
|
||
|
connection_db = connect_db()
|
||
|
db = connection_db.cursor()
|
||
|
db.execute('insert into notes (subject, datestring ) values (?, ?)', [subject, datestring])
|
||
|
note_id = db.lastrowid
|
||
|
for note in notes:
|
||
|
db.execute('insert into pages (note_id, name, tags ) values (?, ?, ?)', [note_id, note["name"], note["tags"]])
|
||
|
connection_db.commit()
|
||
|
|
||
|
def connect_db():
|
||
|
return sqlite3.connect(DATABASE)
|
||
|
|
||
|
def add_notes_to_db():
|
||
|
|
||
|
query_result = query_db("select * from pages ")
|
||
|
print query_result
|
||
|
if not query_result:
|
||
|
add_note("analiza", "9stycznia", notes)
|
||
|
db.close()
|
||
|
|
||
|
def init_db():
|
||
|
db = connect_db()
|
||
|
f = open("schema.sql", "r")
|
||
|
db.cursor().executescript(f.read())
|
||
|
db.commit()
|
||
|
|
||
|
def main():
|
||
|
init_db()
|
||
|
path = raw_input("Path: ")
|
||
|
try:
|
||
|
add_all_notes_in_dir(path)
|
||
|
except OSError:
|
||
|
pass
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
main()
|