add support for alternative media dir and disabling media copy on export

This commit is contained in:
Damien Elmes 2009-05-16 04:07:54 +09:00
parent 6ccafcb996
commit ea9ad13932
2 changed files with 8 additions and 2 deletions

View file

@ -128,6 +128,7 @@ class Deck(object):
def _initVars(self): def _initVars(self):
self.tmpMediaDir = None self.tmpMediaDir = None
self.forceMediaDir = None
self.lastTags = u"" self.lastTags = u""
self.lastLoaded = time.time() self.lastLoaded = time.time()
self.undoEnabled = False self.undoEnabled = False
@ -2028,11 +2029,14 @@ where key = :key""", key=key, value=value):
"Return the media directory if exists. None if couldn't create." "Return the media directory if exists. None if couldn't create."
if self.path: if self.path:
# file-backed # file-backed
if self.forceMediaDir:
dir = self.forceMediaDir
else:
dir = re.sub("(?i)\.(anki)$", ".media", self.path) dir = re.sub("(?i)\.(anki)$", ".media", self.path)
if create == None: if create == None:
# don't create, but return dir # don't create, but return dir
return dir return dir
if not os.path.exists(dir) and create: if dir and not os.path.exists(dir) and create:
try: try:
os.mkdir(dir) os.mkdir(dir)
# change to the current dir # change to the current dir

View file

@ -58,6 +58,7 @@ class AnkiExporter(Exporter):
def __init__(self, deck): def __init__(self, deck):
Exporter.__init__(self, deck) Exporter.__init__(self, deck)
self.includeSchedulingInfo = False self.includeSchedulingInfo = False
self.includeMedia = True
def exportInto(self, path): def exportInto(self, path):
n = 3 n = 3
@ -68,6 +69,7 @@ class AnkiExporter(Exporter):
self.newDeck = DeckStorage.Deck(path) self.newDeck = DeckStorage.Deck(path)
client = SyncClient(self.deck) client = SyncClient(self.deck)
server = SyncServer(self.newDeck) server = SyncServer(self.newDeck)
server._mediaSupported = self.includeMedia
client.setServer(server) client.setServer(server)
client.localTime = self.deck.modified client.localTime = self.deck.modified
client.remoteTime = 0 client.remoteTime = 0