idk
This commit is contained in:
parent
c972d1f15e
commit
2d2c686da8
|
@ -59,10 +59,13 @@ def makeDictFromTags(tagFile, key='name', value='file'):
|
|||
|
||||
def getAllFiles():
|
||||
# Returns a set containing all the files we wish to make public
|
||||
return makeSetFromTags(loadTagFile(tagFile))
|
||||
return makeSetFromTags(loadTagFile())
|
||||
|
||||
def getAllTags():
|
||||
# Returns a dictionary with:
|
||||
# - key as tag titles
|
||||
# - values as files that have the key in their tags
|
||||
return makeDictFromTags(loadTagFile())
|
||||
|
||||
if __name__ == '__main__':
|
||||
print(getAllTags().keys())
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
#! /usr/bin/env python3
|
||||
|
||||
import ctags
|
||||
from ctags import CTags, TagEntry
|
||||
import sys
|
||||
from icecream import ic
|
||||
|
@ -8,7 +7,7 @@ import os
|
|||
import shutil
|
||||
import fileinput
|
||||
|
||||
def loadTagFile(path='.vimwiki_tags'):
|
||||
def loadTagFile(path='/home/anish/vimwiki/.vimwiki_tags'):
|
||||
# Available file information keys:
|
||||
# opened - was the tag file successfully opened?
|
||||
# error_number - errno value when 'opened' is false
|
||||
|
@ -22,9 +21,28 @@ def loadTagFile(path='.vimwiki_tags'):
|
|||
tagFile = CTags(path)
|
||||
return tagFile
|
||||
except:
|
||||
print("No tagfile at {}".farmat(path))
|
||||
print("No tagfile at {}".format(path))
|
||||
sys.exit(1)
|
||||
|
||||
bad_tags = [('Public', 'public'), ('Travel', 'travel'), ('jrl', 'jrnl'), ('Kitaab', 'kitaab'), ('Dream', 'dream'), ('Story', 'story'), ('Review', 'review'), ('private', 'priv'), ('ideas', 'idea'), ('quotes', 'quote'), ('rocks', 'rock'), ('sec', 'cybsec'), ('sealight.services', 'sealight')]
|
||||
bad_tags_only = [x[0] for x in bad_tags]
|
||||
|
||||
def replaceBadTags(tagFile):
|
||||
# no higher order function sadness
|
||||
# this does the same thing as loopThrough but runs a different function
|
||||
# (loop through looks for single character tags)
|
||||
# We look for any tag in the list and replace it
|
||||
entry = TagEntry()
|
||||
tag = tagFile.next(entry)
|
||||
tagErrors = set()
|
||||
print(bad_tags_only)
|
||||
while tag:
|
||||
tag = entry['name'].decode('utf-8')
|
||||
if tag in bad_tags_only:
|
||||
tagErrors.add(entry['file'])
|
||||
tag = tagFile.next(entry)
|
||||
return tagErrors
|
||||
|
||||
def loopThrough(tagFile):
|
||||
# Available TagEntry keys:
|
||||
# name - name of tag
|
||||
|
@ -46,12 +64,36 @@ def loopThrough(tagFile):
|
|||
if len(entry['name']) <= 1:
|
||||
tagErrors.add(entry['file'])
|
||||
errorTagNames.add(entry['name'])
|
||||
else:
|
||||
print("Good tag found: {}".format(entry['name']))
|
||||
tag = tagFile.next(entry)
|
||||
ic(errorTagNames)
|
||||
return tagErrors
|
||||
|
||||
def fixBadTags(errors):
|
||||
''' More lack of higher order function sadness
|
||||
same as fixErrors, but not really
|
||||
'''
|
||||
fileBase = '/home/anish/vimwiki/'
|
||||
for v in errors:
|
||||
print("Fixing {}...".format(v))
|
||||
fileName = fileBase + getFileName(v)
|
||||
newFile = ""
|
||||
with open(fileName, 'r') as f:
|
||||
newFile = newFile + f.readline()
|
||||
line = f.readline()
|
||||
# bad and ungly
|
||||
for bad_tag in bad_tags:
|
||||
line = line.replace(bad_tag[0], bad_tag[1])
|
||||
newFile = newFile + line
|
||||
for line in f.readlines():
|
||||
newFile = newFile + line
|
||||
with open(fileName, 'w') as f:
|
||||
for line in newFile:
|
||||
f.write(line)
|
||||
print("Written new file...")
|
||||
print()
|
||||
print(newFile)
|
||||
|
||||
|
||||
def fixErrors(errors):
|
||||
''' Replaces :: with :, which seems to be the error for many of the tags '''
|
||||
fileBase = '/home/anish/vimwiki/'
|
||||
|
@ -61,6 +103,19 @@ def fixErrors(errors):
|
|||
newFile = ""
|
||||
with open(fileName, 'r') as f:
|
||||
for line in f.readlines():
|
||||
line = line.replace(":]:]:", "")
|
||||
line = line.replace(":[:[:", "")
|
||||
line = line.replace("G:r:a:t:i:t:u:d:e:", ":grat:")
|
||||
line = line.replace(":J:o:u:r:n:a:l:", ":jrnl:")
|
||||
line = line.replace(":R:e:v:i:e:w:", ":review:")
|
||||
line = line.replace(":T:r:a:v:e:l:", ":travel:")
|
||||
line = line.replace(":D:r:e:a:m:", ":dream:")
|
||||
line = line.replace("%date", "\n%date")
|
||||
line = line.replace("{date}", createDateStringFromFile(v)+"\n\n")
|
||||
line = line.replace("{title}", "{title}\n")
|
||||
line = line.replace(" :", ":")
|
||||
line = line.replace("::", ":")
|
||||
line = line.replace(" :", ":")
|
||||
line = line.replace("::", ":")
|
||||
newFile = newFile + line
|
||||
with open(fileName, 'w') as f:
|
||||
|
@ -70,15 +125,37 @@ def fixErrors(errors):
|
|||
print()
|
||||
print(newFile)
|
||||
|
||||
def printErrors(errors):
|
||||
def createDateStringFromFile(error):
|
||||
file = getFileName(error).replace("jrnl/", "").replace(".wiki", "")
|
||||
dateConverted = file.split('-') # create date and time
|
||||
dateConvertedSplit = list(dateConverted[0]) # splite date
|
||||
dateConvertedSplit.insert(2, '-') # add - between year and month
|
||||
dateConvertedSplit.insert(5, '-') # add - between month and day
|
||||
dateConvertedSplit.insert(0, '20') # add 20 to year
|
||||
dateConverted[0] = "".join(dateConvertedSplit) # make date a string
|
||||
dateConverted[1] = dateConverted[1][:2] + ":" + dateConverted[1][2:] # add colon in between hour and minute
|
||||
dateConverted = " ".join(dateConverted) # make date and time a string
|
||||
return dateConverted
|
||||
|
||||
def printErrorFiles(errors):
|
||||
fileBase = '/home/anish/vimwiki/'
|
||||
for v in errors:
|
||||
fileName = fileBase + getFileName(v)
|
||||
print("Reading {}...".format(v))
|
||||
with open(fileName, 'r') as f:
|
||||
f.readline()
|
||||
#f.readline()
|
||||
ic(f.readline())
|
||||
|
||||
def listTags(tagFile):
|
||||
entry = TagEntry()
|
||||
tag = tagFile.next(entry)
|
||||
allTags = set()
|
||||
while tag:
|
||||
tag = entry['name'].decode('utf-8')
|
||||
allTags.add(tag)
|
||||
tag = tagFile.next(entry)
|
||||
return allTags
|
||||
|
||||
def getFileName(f):
|
||||
return str(f, encoding="utf-8")
|
||||
|
||||
|
@ -93,8 +170,9 @@ def getBackupFiles(errors):
|
|||
|
||||
if __name__=='__main__':
|
||||
tagFile = loadTagFile()
|
||||
errors = loopThrough(tagFile)
|
||||
printErrors(errors)
|
||||
#ic(tagFile)
|
||||
#errors = replaceBadTags(tagFile)
|
||||
#fixBadTags(errors)
|
||||
print(sorted(listTags(tagFile)))
|
||||
#ic(errors)
|
||||
#getBackupFiles(errors)
|
||||
#fixErrors(errors)
|
||||
|
|
Loading…
Reference in a new issue