-
Notifications
You must be signed in to change notification settings - Fork 1
/
FSPlugin.py
72 lines (53 loc) · 1.58 KB
/
FSPlugin.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
import os
class FSPluginMetaclass(type):
def __new__(cls, name, base, attr):
attr['instance_count'] = 0
return type.__new__(cls, name, base, attr)
# This is the base class for all plugins
class FSPlugin(object):
__metaclass__ = FSPluginMetaclass
instance_count = 0
config_section = None
config_keys = None
@classmethod
def addArguments(cls, parser):
pass
@classmethod
def createFromArgs(cls, args):
return []
def __init__(self):
self.instance_num = self.__class__.instance_count
self.__class__.instance_count += 1
pass
def getConfigParams(self):
if self.config_section and self.config_keys:
section_name = ''.join([self.config_section, ' ', str(self.instance_num)])
return (section_name, self.config_keys)
else:
return None
def updateConfig(self, conifg):
pass
def getAllFiles(self):
return []
def containsFile(self, f):
return False
def canStoreFile(self, f):
return False
def createNewFile(self, name, mode, dev):
pass
def getAttributes(self, path):
return None
def changeMode(self, path, mode):
pass
def changeOwn(self, path, uid, gid):
pass
def fsync(self, path):
pass
def truncateFile(self, path, size):
pass
def deleteFile(self, path):
pass
def setTimes(self, path, times):
pass
def getFileHandle(self, path, flags):
return open('/dev/null', flags)