Ich schrieb ein Pydrive-Skript, das alle Dateien in einem bestimmten Ordner herunterlädt.Plain Text Export von Google Text & Tabellen mit PYdrive hat einen zentrierten Punkt in Github
Die Dokumente werden als 'sampleTitle.md' mit dem MIME-Typ 'text/plain' heruntergeladen.
dann werden sie einfach verpflichtet und zu meinem Repo geschoben.
Hier ist mein Python-Code für pydrive:
def checkFile(arg):
if arg['mimeType'] in mimetypes:
downloadFile(arg)
print('The file ' + str(arg['title']) + ' has a mimetype of ' + arg['mimeType'] + ' and will be downloaded')
return
if arg['mimeType'] in folder:
enterFolder(arg['id'])
print('The file ' + str(arg['title']) + ' has a mimetype of ' + arg['mimeType'] + ' and will be entered')
return
def enterFolder(query):
file_list = drive.ListFile({'q': '\'' + query + '\' in parents and trashed=false'}).GetList()
for file1 in file_list:
checkFile(file1)
return
def downloadFile(arg):
download_mimetype = None
download_mimetype = mimetypes[arg['mimeType']]
arg.GetContentFile(arg['title'], mimetype=download_mimetype)
print(arg['title'] + 'got downloaded')
return
import sys
sys.path.insert(1, '/Library/Python/2.7/site-packages')
from pydrive.auth import GoogleAuth
gauth = GoogleAuth()
gauth.LocalWebserverAuth() # Creates local webserver and auto handles authentication.
from pydrive.drive import GoogleDrive
mimetypes = {
# Drive Document files as plain text.
'application/vnd.google-apps.document': 'text/plain'
# etc.
}
folder = {
# Comparing for folder.
'application/vnd.google-apps.folder': 'true'
# etc.
}
# Create GoogleDrive instance with authenticated GoogleAuth instance.
drive = GoogleDrive(gauth)
# Auto-iterate through all files that matches this query
enterFolder('starfolder')
Der Code funktioniert und die Dateien heruntergeladen werden.
In Google Text & Tabellen sthe Anfang einer Datei wie folgt aussieht:
---
layout: post
title: title
---
Sein eine YAML Titelei, die ich für Jekyll und Github-Seiten.
Wenn ich die Datei und schieben Sie es auf meine Repo herunterladen sieht es wie folgt aus:
·---
layout: post
title: title
---
Ich weiß wirklich nicht, wo das zentrierter Punkt eingegeben wird. Es erscheint nur auf github und ist in allen meinen Editoren versteckt (Atom, Textwrangler, Brackets, TextEdit, VisualStudio Code). Es scheint, dass, wenn ich Backspace trete, wo der Punkt im Editor sein sollte, entfernt er den versteckten Punkt. In Nano wird es als Leerraum angezeigt.
Ich muss das Leerzeichen irgendwie entfernen, weil es mein Abschriftenformat stört. Gibt es eine effektive Lösung?
bearbeiten
fand ich den Täter seine Stückliste, die am Anfang des Dokuments festgelegt wird. Ich versuche es jetzt mit einem Shell-Befehl zu entfernen, aber ich kann man finden, die mit Beispiel habe ich versucht, die folgenden Werke:
awk '{if(NR==1)sub(/^\xef\xbb\xbf/,"");print}' text.md > text.md
sed '1 s/\xEF\xBB\xBF//' <text.md> text.md
Sie entfernen den gesamten Inhalt der Dateien, statt nur die Stückliste.
Also weiß jemand weiß, was ich falsch mit der Befehlszeile, weil alle anderen scheint der Befehl funktioniert zu bekommen.
Mögliche Duplikat [awk Verwendung der Byte-Reihenfolge-Marke entfernen] (http: // Stackoverflow.com/questions/1068650/using-awk-zu-entfernen-the-byte-order-mark) – Waylan
Ich werde es morgen in die awk Sache einfach meine Datei löscht so sehen wir, ob die etwas andere Version wird funktionieren – Opaldes
Ok mein Skript funktioniert jetzt nach dem Herunterladen der Dateien ohne Erweiterung und mit den obigen Befehlen, um anschließend eine Erweiterung hinzuzufügen. – Opaldes