Example #1
0
def v_grep():
  q = request.args.get('q', '')
  if q == '':
    return render_template("v_grep.html", searchtype="initial", viewernotes=get_fortune())

  # So we have a query to search.
  caseSensitive = request.args.get('c', False, bool)
  files = search.search_files_for_string(q, caseSensitive)

  items = []
  for f in files:
    parts = f.relative_to(config.get_user_data_dir()).parts
    if len(parts) < 4:
      continue
    year = parts[0]
    month = parts[1]
    day = parts[2]
    if(str(parts[3]) == 'src'):
      meat = parts[4]
    else:
      meat = parts[3]
    item = dbops.get_record_by_file(year, month, day, meat)
    if not(item == None):
      items.append({'loc': url_for('v_grep_viewer', q=q, ident=item.doc_id, meat=item['Buc_name']), 'name': menu_name_for_item(item)})
  if (items == []):
    return render_template("v_grep.html", searchtype="empty", q=q, viewernotes=get_fortune())

  return render_template('viewer.html', items=items, view_name='grep',
                                        breadcrumbs = [{'loc': url_for('v_grep'),'name':'By grep'},
                                                       {'loc': url_for('v_grep', q=q, c='1' if caseSensitive else '0'), 'name': q, 'current':1}],
                                        viewernotes=get_fortune())
Example #2
0
def commit(mesg):
    if not config.enable_vcs_commits():
        return

    print('*** Bucephalus VCS is enabled: commit: ' + mesg)
    path = config.get_user_data_dir()
    if not ((path / ".git").exists() and (path / ".git").is_dir()):
        subprocess.call(['git', '-C', str(path), 'init'])
        commit(mesg)
        return

    subprocess.call(['git', '-C', str(path), 'add', str(path)])
    subprocess.call([
        'git', '-C',
        str(path), 'commit', '--quiet', '-m', 'Bucephalus: ' + mesg,
        '--author=Bucephalus Automated <bucep5@localhost>'
    ])
Example #3
0
import json

from pathlib import Path

import config
import vcs

directory = config.get_user_data_dir()


def tasks():
    filename = Path(directory) / "tasks.json"
    decoder = json.JSONDecoder()
    if not filename.exists():
        return []

    with filename.open() as f:
        return decoder.decode(f.read())


def add(task):
    filename = Path(directory) / "tasks.json"
    encoder = json.JSONEncoder(indent=2)
    tasklist = tasks() + [task]  # Need to read before we open for writing.
    with filename.open(mode='w') as f:
        f.write(encoder.encode(tasklist))
    vcs.commit("Tasklist: add task")


def rm(taskids):
    filename = Path(directory) / "tasks.json"
Example #4
0
def list_files():
    return recurse(config.get_user_data_dir())