Commit 40231d86fd4534db67a0094ffd87d3fc055b698c
0 parents
Preliminary digger core + plugin example (MFT)
Showing
17 changed files
with
789 additions
and
0 deletions
.idea/gravedigger.iml
0 → 100644
1 | +++ a/.idea/gravedigger.iml | ||
1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
2 | +<module type="PYTHON_MODULE" version="4"> | ||
3 | + <component name="NewModuleRootManager"> | ||
4 | + <content url="file://$MODULE_DIR$" /> | ||
5 | + <orderEntry type="inheritedJdk" /> | ||
6 | + <orderEntry type="sourceFolder" forTests="false" /> | ||
7 | + </component> | ||
8 | + <component name="TestRunnerService"> | ||
9 | + <option name="PROJECT_TEST_RUNNER" value="Unittests" /> | ||
10 | + </component> | ||
11 | +</module> | ||
0 | \ No newline at end of file | 12 | \ No newline at end of file |
.idea/misc.xml
0 → 100644
1 | +++ a/.idea/misc.xml | ||
1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
2 | +<project version="4"> | ||
3 | + <component name="ProjectLevelVcsManager" settingsEditedManually="false"> | ||
4 | + <OptionsSetting value="true" id="Add" /> | ||
5 | + <OptionsSetting value="true" id="Remove" /> | ||
6 | + <OptionsSetting value="true" id="Checkout" /> | ||
7 | + <OptionsSetting value="true" id="Update" /> | ||
8 | + <OptionsSetting value="true" id="Status" /> | ||
9 | + <OptionsSetting value="true" id="Edit" /> | ||
10 | + <ConfirmationsSetting value="0" id="Add" /> | ||
11 | + <ConfirmationsSetting value="0" id="Remove" /> | ||
12 | + </component> | ||
13 | + <component name="ProjectRootManager" version="2" project-jdk-name="Python 3.4.2 (/usr/bin/python3.4)" project-jdk-type="Python SDK" /> | ||
14 | +</project> | ||
0 | \ No newline at end of file | 15 | \ No newline at end of file |
.idea/modules.xml
0 → 100644
1 | +++ a/.idea/modules.xml | ||
1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
2 | +<project version="4"> | ||
3 | + <component name="ProjectModuleManager"> | ||
4 | + <modules> | ||
5 | + <module fileurl="file://$PROJECT_DIR$/.idea/gravedigger.iml" filepath="$PROJECT_DIR$/.idea/gravedigger.iml" /> | ||
6 | + </modules> | ||
7 | + </component> | ||
8 | +</project> | ||
0 | \ No newline at end of file | 9 | \ No newline at end of file |
.idea/vcs.xml
0 → 100644
.idea/workspace.xml
0 → 100644
1 | +++ a/.idea/workspace.xml | ||
1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
2 | +<project version="4"> | ||
3 | + <component name="ChangeListManager"> | ||
4 | + <list default="true" id="33419617-7da8-422e-9ac6-68e0b317ebf8" name="Default" comment=""> | ||
5 | + <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/vcs.xml" /> | ||
6 | + <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/digger.py" /> | ||
7 | + <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/module.py" /> | ||
8 | + <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/modules/__init__.py" /> | ||
9 | + <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/modules/mft.py" /> | ||
10 | + <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/modulevar.py" /> | ||
11 | + <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/scripts/dig.service" /> | ||
12 | + <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/scripts/digger.sh" /> | ||
13 | + <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/vars/ntfsvol.py" /> | ||
14 | + </list> | ||
15 | + <ignored path="gravedigger.iws" /> | ||
16 | + <ignored path=".idea/workspace.xml" /> | ||
17 | + <ignored path=".idea/dataSources.local.xml" /> | ||
18 | + <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" /> | ||
19 | + <option name="TRACKING_ENABLED" value="true" /> | ||
20 | + <option name="SHOW_DIALOG" value="false" /> | ||
21 | + <option name="HIGHLIGHT_CONFLICTS" value="true" /> | ||
22 | + <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" /> | ||
23 | + <option name="LAST_RESOLUTION" value="IGNORE" /> | ||
24 | + </component> | ||
25 | + <component name="ChangesViewManager" flattened_view="true" show_ignored="false" /> | ||
26 | + <component name="CoverageDataManager"> | ||
27 | + <SUITE FILE_PATH="coverage/gravedigger$digger.coverage" NAME="digger Coverage Results" MODIFIED="1477298273841" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" /> | ||
28 | + </component> | ||
29 | + <component name="CreatePatchCommitExecutor"> | ||
30 | + <option name="PATCH_PATH" value="" /> | ||
31 | + </component> | ||
32 | + <component name="ExecutionTargetManager" SELECTED_TARGET="default_target" /> | ||
33 | + <component name="FavoritesManager"> | ||
34 | + <favorites_list name="gravedigger" /> | ||
35 | + </component> | ||
36 | + <component name="FileEditorManager"> | ||
37 | + <leaf> | ||
38 | + <file leaf-file-name="digger.sh" pinned="false" current-in-tab="false"> | ||
39 | + <entry file="file://$PROJECT_DIR$/scripts/digger.sh"> | ||
40 | + <provider selected="true" editor-type-id="text-editor"> | ||
41 | + <state relative-caret-position="133"> | ||
42 | + <caret line="7" column="39" selection-start-line="7" selection-start-column="39" selection-end-line="7" selection-end-column="39" /> | ||
43 | + <folding /> | ||
44 | + </state> | ||
45 | + </provider> | ||
46 | + </entry> | ||
47 | + </file> | ||
48 | + <file leaf-file-name="digger.py" pinned="false" current-in-tab="true"> | ||
49 | + <entry file="file://$PROJECT_DIR$/digger.py"> | ||
50 | + <provider selected="true" editor-type-id="text-editor"> | ||
51 | + <state relative-caret-position="57"> | ||
52 | + <caret line="3" column="25" selection-start-line="3" selection-start-column="25" selection-end-line="3" selection-end-column="25" /> | ||
53 | + <folding /> | ||
54 | + </state> | ||
55 | + </provider> | ||
56 | + </entry> | ||
57 | + </file> | ||
58 | + <file leaf-file-name="module.py" pinned="false" current-in-tab="false"> | ||
59 | + <entry file="file://$PROJECT_DIR$/module.py"> | ||
60 | + <provider selected="true" editor-type-id="text-editor"> | ||
61 | + <state relative-caret-position="95"> | ||
62 | + <caret line="5" column="19" selection-start-line="5" selection-start-column="19" selection-end-line="5" selection-end-column="19" /> | ||
63 | + <folding /> | ||
64 | + </state> | ||
65 | + </provider> | ||
66 | + </entry> | ||
67 | + </file> | ||
68 | + <file leaf-file-name="ntfsvol.py" pinned="false" current-in-tab="false"> | ||
69 | + <entry file="file://$PROJECT_DIR$/vars/ntfsvol.py"> | ||
70 | + <provider selected="true" editor-type-id="text-editor"> | ||
71 | + <state relative-caret-position="247"> | ||
72 | + <caret line="13" column="41" selection-start-line="13" selection-start-column="41" selection-end-line="13" selection-end-column="41" /> | ||
73 | + <folding /> | ||
74 | + </state> | ||
75 | + </provider> | ||
76 | + </entry> | ||
77 | + </file> | ||
78 | + <file leaf-file-name="mft.py" pinned="false" current-in-tab="false"> | ||
79 | + <entry file="file://$PROJECT_DIR$/modules/mft.py"> | ||
80 | + <provider selected="true" editor-type-id="text-editor"> | ||
81 | + <state relative-caret-position="266"> | ||
82 | + <caret line="14" column="12" selection-start-line="14" selection-start-column="12" selection-end-line="14" selection-end-column="12" /> | ||
83 | + <folding /> | ||
84 | + </state> | ||
85 | + </provider> | ||
86 | + </entry> | ||
87 | + </file> | ||
88 | + <file leaf-file-name="modulevar.py" pinned="false" current-in-tab="false"> | ||
89 | + <entry file="file://$PROJECT_DIR$/modulevar.py"> | ||
90 | + <provider selected="true" editor-type-id="text-editor"> | ||
91 | + <state relative-caret-position="171"> | ||
92 | + <caret line="9" column="29" selection-start-line="9" selection-start-column="29" selection-end-line="9" selection-end-column="29" /> | ||
93 | + <folding /> | ||
94 | + </state> | ||
95 | + </provider> | ||
96 | + </entry> | ||
97 | + </file> | ||
98 | + <file leaf-file-name="__init__.py" pinned="false" current-in-tab="false"> | ||
99 | + <entry file="file://$PROJECT_DIR$/modules/__init__.py"> | ||
100 | + <provider selected="true" editor-type-id="text-editor"> | ||
101 | + <state relative-caret-position="0"> | ||
102 | + <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> | ||
103 | + <folding /> | ||
104 | + </state> | ||
105 | + </provider> | ||
106 | + </entry> | ||
107 | + </file> | ||
108 | + <file leaf-file-name="dig.service" pinned="false" current-in-tab="false"> | ||
109 | + <entry file="file://$PROJECT_DIR$/scripts/dig.service"> | ||
110 | + <provider selected="true" editor-type-id="text-editor"> | ||
111 | + <state relative-caret-position="133"> | ||
112 | + <caret line="7" column="35" selection-start-line="7" selection-start-column="35" selection-end-line="7" selection-end-column="35" /> | ||
113 | + <folding /> | ||
114 | + </state> | ||
115 | + </provider> | ||
116 | + </entry> | ||
117 | + </file> | ||
118 | + </leaf> | ||
119 | + </component> | ||
120 | + <component name="FileTemplateManagerImpl"> | ||
121 | + <option name="RECENT_TEMPLATES"> | ||
122 | + <list> | ||
123 | + <option value="Python Script" /> | ||
124 | + </list> | ||
125 | + </option> | ||
126 | + </component> | ||
127 | + <component name="Git.Settings"> | ||
128 | + <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" /> | ||
129 | + </component> | ||
130 | + <component name="IdeDocumentHistory"> | ||
131 | + <option name="CHANGED_PATHS"> | ||
132 | + <list> | ||
133 | + <option value="$PROJECT_DIR$/digger.sh" /> | ||
134 | + <option value="$PROJECT_DIR$/dig.service" /> | ||
135 | + <option value="$PROJECT_DIR$/modules/module.py" /> | ||
136 | + <option value="$PROJECT_DIR$/modulevar.py" /> | ||
137 | + <option value="$PROJECT_DIR$/modules/mft.py" /> | ||
138 | + <option value="$PROJECT_DIR$/vars/ntfsvol.py" /> | ||
139 | + <option value="$PROJECT_DIR$/module.py" /> | ||
140 | + <option value="$PROJECT_DIR$/digger.py" /> | ||
141 | + </list> | ||
142 | + </option> | ||
143 | + </component> | ||
144 | + <component name="JsBuildToolGruntFileManager" detection-done="true" sorting="DEFINITION_ORDER" /> | ||
145 | + <component name="JsBuildToolPackageJson" detection-done="true" sorting="DEFINITION_ORDER" /> | ||
146 | + <component name="JsGulpfileManager"> | ||
147 | + <detection-done>true</detection-done> | ||
148 | + <sorting>DEFINITION_ORDER</sorting> | ||
149 | + </component> | ||
150 | + <component name="ProjectFrameBounds"> | ||
151 | + <option name="x" value="1915" /> | ||
152 | + <option name="y" value="31" /> | ||
153 | + <option name="width" value="1930" /> | ||
154 | + <option name="height" value="1174" /> | ||
155 | + </component> | ||
156 | + <component name="ProjectLevelVcsManager" settingsEditedManually="false"> | ||
157 | + <OptionsSetting value="true" id="Add" /> | ||
158 | + <OptionsSetting value="true" id="Remove" /> | ||
159 | + <OptionsSetting value="true" id="Checkout" /> | ||
160 | + <OptionsSetting value="true" id="Update" /> | ||
161 | + <OptionsSetting value="true" id="Status" /> | ||
162 | + <OptionsSetting value="true" id="Edit" /> | ||
163 | + <ConfirmationsSetting value="2" id="Add" /> | ||
164 | + <ConfirmationsSetting value="0" id="Remove" /> | ||
165 | + </component> | ||
166 | + <component name="ProjectView"> | ||
167 | + <navigator currentView="ProjectPane" proportions="" version="1"> | ||
168 | + <flattenPackages /> | ||
169 | + <showMembers /> | ||
170 | + <showModules /> | ||
171 | + <showLibraryContents /> | ||
172 | + <hideEmptyPackages /> | ||
173 | + <abbreviatePackageNames /> | ||
174 | + <autoscrollToSource /> | ||
175 | + <autoscrollFromSource /> | ||
176 | + <sortByType /> | ||
177 | + <manualOrder /> | ||
178 | + <foldersAlwaysOnTop value="true" /> | ||
179 | + </navigator> | ||
180 | + <panes> | ||
181 | + <pane id="Scratches" /> | ||
182 | + <pane id="Scope" /> | ||
183 | + <pane id="ProjectPane"> | ||
184 | + <subPane> | ||
185 | + <PATH> | ||
186 | + <PATH_ELEMENT> | ||
187 | + <option name="myItemId" value="gravedigger" /> | ||
188 | + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> | ||
189 | + </PATH_ELEMENT> | ||
190 | + </PATH> | ||
191 | + <PATH> | ||
192 | + <PATH_ELEMENT> | ||
193 | + <option name="myItemId" value="gravedigger" /> | ||
194 | + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> | ||
195 | + </PATH_ELEMENT> | ||
196 | + <PATH_ELEMENT> | ||
197 | + <option name="myItemId" value="gravedigger" /> | ||
198 | + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> | ||
199 | + </PATH_ELEMENT> | ||
200 | + </PATH> | ||
201 | + <PATH> | ||
202 | + <PATH_ELEMENT> | ||
203 | + <option name="myItemId" value="gravedigger" /> | ||
204 | + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> | ||
205 | + </PATH_ELEMENT> | ||
206 | + <PATH_ELEMENT> | ||
207 | + <option name="myItemId" value="gravedigger" /> | ||
208 | + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> | ||
209 | + </PATH_ELEMENT> | ||
210 | + <PATH_ELEMENT> | ||
211 | + <option name="myItemId" value="vars" /> | ||
212 | + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> | ||
213 | + </PATH_ELEMENT> | ||
214 | + </PATH> | ||
215 | + <PATH> | ||
216 | + <PATH_ELEMENT> | ||
217 | + <option name="myItemId" value="gravedigger" /> | ||
218 | + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> | ||
219 | + </PATH_ELEMENT> | ||
220 | + <PATH_ELEMENT> | ||
221 | + <option name="myItemId" value="gravedigger" /> | ||
222 | + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> | ||
223 | + </PATH_ELEMENT> | ||
224 | + <PATH_ELEMENT> | ||
225 | + <option name="myItemId" value="scripts" /> | ||
226 | + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> | ||
227 | + </PATH_ELEMENT> | ||
228 | + </PATH> | ||
229 | + <PATH> | ||
230 | + <PATH_ELEMENT> | ||
231 | + <option name="myItemId" value="gravedigger" /> | ||
232 | + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> | ||
233 | + </PATH_ELEMENT> | ||
234 | + <PATH_ELEMENT> | ||
235 | + <option name="myItemId" value="gravedigger" /> | ||
236 | + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> | ||
237 | + </PATH_ELEMENT> | ||
238 | + <PATH_ELEMENT> | ||
239 | + <option name="myItemId" value="modules" /> | ||
240 | + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> | ||
241 | + </PATH_ELEMENT> | ||
242 | + </PATH> | ||
243 | + </subPane> | ||
244 | + </pane> | ||
245 | + </panes> | ||
246 | + </component> | ||
247 | + <component name="PropertiesComponent"> | ||
248 | + <property name="WebServerToolWindowFactoryState" value="false" /> | ||
249 | + </component> | ||
250 | + <component name="RecentsManager"> | ||
251 | + <key name="MoveFile.RECENT_KEYS"> | ||
252 | + <recent name="$PROJECT_DIR$" /> | ||
253 | + <recent name="$PROJECT_DIR$/scripts" /> | ||
254 | + </key> | ||
255 | + </component> | ||
256 | + <component name="RunManager" selected="Python.digger"> | ||
257 | + <configuration default="false" name="digger" type="PythonConfigurationType" factoryName="Python" temporary="true"> | ||
258 | + <option name="INTERPRETER_OPTIONS" value="" /> | ||
259 | + <option name="PARENT_ENVS" value="true" /> | ||
260 | + <envs> | ||
261 | + <env name="PYTHONUNBUFFERED" value="1" /> | ||
262 | + </envs> | ||
263 | + <option name="SDK_HOME" value="" /> | ||
264 | + <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" /> | ||
265 | + <option name="IS_MODULE_SDK" value="true" /> | ||
266 | + <option name="ADD_CONTENT_ROOTS" value="true" /> | ||
267 | + <option name="ADD_SOURCE_ROOTS" value="true" /> | ||
268 | + <module name="gravedigger" /> | ||
269 | + <EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" /> | ||
270 | + <option name="SCRIPT_NAME" value="$PROJECT_DIR$/digger.py" /> | ||
271 | + <option name="PARAMETERS" value="" /> | ||
272 | + <option name="SHOW_COMMAND_LINE" value="false" /> | ||
273 | + <method /> | ||
274 | + </configuration> | ||
275 | + <configuration default="true" type="DjangoTestsConfigurationType" factoryName="Django tests"> | ||
276 | + <option name="INTERPRETER_OPTIONS" value="" /> | ||
277 | + <option name="PARENT_ENVS" value="true" /> | ||
278 | + <envs> | ||
279 | + <env name="PYTHONUNBUFFERED" value="1" /> | ||
280 | + </envs> | ||
281 | + <option name="SDK_HOME" value="" /> | ||
282 | + <option name="WORKING_DIRECTORY" value="" /> | ||
283 | + <option name="IS_MODULE_SDK" value="false" /> | ||
284 | + <option name="ADD_CONTENT_ROOTS" value="true" /> | ||
285 | + <option name="ADD_SOURCE_ROOTS" value="true" /> | ||
286 | + <module name="gravedigger" /> | ||
287 | + <EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" /> | ||
288 | + <option name="TARGET" value="" /> | ||
289 | + <option name="SETTINGS_FILE" value="" /> | ||
290 | + <option name="CUSTOM_SETTINGS" value="false" /> | ||
291 | + <option name="USE_OPTIONS" value="false" /> | ||
292 | + <option name="OPTIONS" value="" /> | ||
293 | + <method /> | ||
294 | + </configuration> | ||
295 | + <configuration default="true" type="JavascriptDebugType" factoryName="JavaScript Debug"> | ||
296 | + <method /> | ||
297 | + </configuration> | ||
298 | + <configuration default="true" type="PyBehaveRunConfigurationType" factoryName="Behave"> | ||
299 | + <option name="INTERPRETER_OPTIONS" value="" /> | ||
300 | + <option name="PARENT_ENVS" value="true" /> | ||
301 | + <envs /> | ||
302 | + <option name="SDK_HOME" value="" /> | ||
303 | + <option name="WORKING_DIRECTORY" value="" /> | ||
304 | + <option name="IS_MODULE_SDK" value="false" /> | ||
305 | + <option name="ADD_CONTENT_ROOTS" value="true" /> | ||
306 | + <option name="ADD_SOURCE_ROOTS" value="true" /> | ||
307 | + <module name="gravedigger" /> | ||
308 | + <EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" /> | ||
309 | + <option name="ADDITIONAL_ARGS" value="" /> | ||
310 | + <method /> | ||
311 | + </configuration> | ||
312 | + <configuration default="true" type="PyLettuceRunConfigurationType" factoryName="Lettuce"> | ||
313 | + <option name="INTERPRETER_OPTIONS" value="" /> | ||
314 | + <option name="PARENT_ENVS" value="true" /> | ||
315 | + <envs /> | ||
316 | + <option name="SDK_HOME" value="" /> | ||
317 | + <option name="WORKING_DIRECTORY" value="" /> | ||
318 | + <option name="IS_MODULE_SDK" value="false" /> | ||
319 | + <option name="ADD_CONTENT_ROOTS" value="true" /> | ||
320 | + <option name="ADD_SOURCE_ROOTS" value="true" /> | ||
321 | + <module name="gravedigger" /> | ||
322 | + <EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" /> | ||
323 | + <option name="ADDITIONAL_ARGS" value="" /> | ||
324 | + <method /> | ||
325 | + </configuration> | ||
326 | + <configuration default="true" type="PythonConfigurationType" factoryName="Python"> | ||
327 | + <option name="INTERPRETER_OPTIONS" value="" /> | ||
328 | + <option name="PARENT_ENVS" value="true" /> | ||
329 | + <envs> | ||
330 | + <env name="PYTHONUNBUFFERED" value="1" /> | ||
331 | + </envs> | ||
332 | + <option name="SDK_HOME" value="" /> | ||
333 | + <option name="WORKING_DIRECTORY" value="" /> | ||
334 | + <option name="IS_MODULE_SDK" value="false" /> | ||
335 | + <option name="ADD_CONTENT_ROOTS" value="true" /> | ||
336 | + <option name="ADD_SOURCE_ROOTS" value="true" /> | ||
337 | + <module name="gravedigger" /> | ||
338 | + <EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" /> | ||
339 | + <option name="SCRIPT_NAME" value="" /> | ||
340 | + <option name="PARAMETERS" value="" /> | ||
341 | + <option name="SHOW_COMMAND_LINE" value="false" /> | ||
342 | + <method /> | ||
343 | + </configuration> | ||
344 | + <configuration default="true" type="Tox" factoryName="Tox"> | ||
345 | + <option name="INTERPRETER_OPTIONS" value="" /> | ||
346 | + <option name="PARENT_ENVS" value="true" /> | ||
347 | + <envs /> | ||
348 | + <option name="SDK_HOME" value="" /> | ||
349 | + <option name="WORKING_DIRECTORY" value="" /> | ||
350 | + <option name="IS_MODULE_SDK" value="false" /> | ||
351 | + <option name="ADD_CONTENT_ROOTS" value="true" /> | ||
352 | + <option name="ADD_SOURCE_ROOTS" value="true" /> | ||
353 | + <EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" /> | ||
354 | + <module name="gravedigger" /> | ||
355 | + <method /> | ||
356 | + </configuration> | ||
357 | + <configuration default="true" type="js.build_tools.gulp" factoryName="Gulp.js"> | ||
358 | + <method /> | ||
359 | + </configuration> | ||
360 | + <configuration default="true" type="js.build_tools.npm" factoryName="npm"> | ||
361 | + <command value="run-script" /> | ||
362 | + <scripts /> | ||
363 | + <node-interpreter value="project" /> | ||
364 | + <envs /> | ||
365 | + <method /> | ||
366 | + </configuration> | ||
367 | + <configuration default="true" type="tests" factoryName="Attests"> | ||
368 | + <option name="INTERPRETER_OPTIONS" value="" /> | ||
369 | + <option name="PARENT_ENVS" value="true" /> | ||
370 | + <envs /> | ||
371 | + <option name="SDK_HOME" value="" /> | ||
372 | + <option name="WORKING_DIRECTORY" value="" /> | ||
373 | + <option name="IS_MODULE_SDK" value="false" /> | ||
374 | + <option name="ADD_CONTENT_ROOTS" value="true" /> | ||
375 | + <option name="ADD_SOURCE_ROOTS" value="true" /> | ||
376 | + <module name="gravedigger" /> | ||
377 | + <EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" /> | ||
378 | + <option name="SCRIPT_NAME" value="" /> | ||
379 | + <option name="CLASS_NAME" value="" /> | ||
380 | + <option name="METHOD_NAME" value="" /> | ||
381 | + <option name="FOLDER_NAME" value="" /> | ||
382 | + <option name="TEST_TYPE" value="TEST_SCRIPT" /> | ||
383 | + <option name="PATTERN" value="" /> | ||
384 | + <option name="USE_PATTERN" value="false" /> | ||
385 | + <method /> | ||
386 | + </configuration> | ||
387 | + <configuration default="true" type="tests" factoryName="Doctests"> | ||
388 | + <option name="INTERPRETER_OPTIONS" value="" /> | ||
389 | + <option name="PARENT_ENVS" value="true" /> | ||
390 | + <envs /> | ||
391 | + <option name="SDK_HOME" value="" /> | ||
392 | + <option name="WORKING_DIRECTORY" value="" /> | ||
393 | + <option name="IS_MODULE_SDK" value="false" /> | ||
394 | + <option name="ADD_CONTENT_ROOTS" value="true" /> | ||
395 | + <option name="ADD_SOURCE_ROOTS" value="true" /> | ||
396 | + <module name="gravedigger" /> | ||
397 | + <EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" /> | ||
398 | + <option name="SCRIPT_NAME" value="" /> | ||
399 | + <option name="CLASS_NAME" value="" /> | ||
400 | + <option name="METHOD_NAME" value="" /> | ||
401 | + <option name="FOLDER_NAME" value="" /> | ||
402 | + <option name="TEST_TYPE" value="TEST_SCRIPT" /> | ||
403 | + <option name="PATTERN" value="" /> | ||
404 | + <option name="USE_PATTERN" value="false" /> | ||
405 | + <method /> | ||
406 | + </configuration> | ||
407 | + <configuration default="true" type="tests" factoryName="Nosetests"> | ||
408 | + <option name="INTERPRETER_OPTIONS" value="" /> | ||
409 | + <option name="PARENT_ENVS" value="true" /> | ||
410 | + <envs /> | ||
411 | + <option name="SDK_HOME" value="" /> | ||
412 | + <option name="WORKING_DIRECTORY" value="" /> | ||
413 | + <option name="IS_MODULE_SDK" value="false" /> | ||
414 | + <option name="ADD_CONTENT_ROOTS" value="true" /> | ||
415 | + <option name="ADD_SOURCE_ROOTS" value="true" /> | ||
416 | + <module name="gravedigger" /> | ||
417 | + <EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" /> | ||
418 | + <option name="SCRIPT_NAME" value="" /> | ||
419 | + <option name="CLASS_NAME" value="" /> | ||
420 | + <option name="METHOD_NAME" value="" /> | ||
421 | + <option name="FOLDER_NAME" value="" /> | ||
422 | + <option name="TEST_TYPE" value="TEST_SCRIPT" /> | ||
423 | + <option name="PATTERN" value="" /> | ||
424 | + <option name="USE_PATTERN" value="false" /> | ||
425 | + <option name="PARAMS" value="" /> | ||
426 | + <option name="USE_PARAM" value="false" /> | ||
427 | + <method /> | ||
428 | + </configuration> | ||
429 | + <configuration default="true" type="tests" factoryName="Unittests"> | ||
430 | + <option name="INTERPRETER_OPTIONS" value="" /> | ||
431 | + <option name="PARENT_ENVS" value="true" /> | ||
432 | + <envs /> | ||
433 | + <option name="SDK_HOME" value="" /> | ||
434 | + <option name="WORKING_DIRECTORY" value="" /> | ||
435 | + <option name="IS_MODULE_SDK" value="false" /> | ||
436 | + <option name="ADD_CONTENT_ROOTS" value="true" /> | ||
437 | + <option name="ADD_SOURCE_ROOTS" value="true" /> | ||
438 | + <module name="gravedigger" /> | ||
439 | + <EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" /> | ||
440 | + <option name="SCRIPT_NAME" value="" /> | ||
441 | + <option name="CLASS_NAME" value="" /> | ||
442 | + <option name="METHOD_NAME" value="" /> | ||
443 | + <option name="FOLDER_NAME" value="" /> | ||
444 | + <option name="TEST_TYPE" value="TEST_SCRIPT" /> | ||
445 | + <option name="PATTERN" value="" /> | ||
446 | + <option name="USE_PATTERN" value="false" /> | ||
447 | + <option name="PUREUNITTEST" value="true" /> | ||
448 | + <option name="PARAMS" value="" /> | ||
449 | + <option name="USE_PARAM" value="false" /> | ||
450 | + <method /> | ||
451 | + </configuration> | ||
452 | + <configuration default="true" type="tests" factoryName="py.test"> | ||
453 | + <option name="INTERPRETER_OPTIONS" value="" /> | ||
454 | + <option name="PARENT_ENVS" value="true" /> | ||
455 | + <envs /> | ||
456 | + <option name="SDK_HOME" value="" /> | ||
457 | + <option name="WORKING_DIRECTORY" value="" /> | ||
458 | + <option name="IS_MODULE_SDK" value="false" /> | ||
459 | + <option name="ADD_CONTENT_ROOTS" value="true" /> | ||
460 | + <option name="ADD_SOURCE_ROOTS" value="true" /> | ||
461 | + <module name="gravedigger" /> | ||
462 | + <EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" /> | ||
463 | + <option name="SCRIPT_NAME" value="" /> | ||
464 | + <option name="CLASS_NAME" value="" /> | ||
465 | + <option name="METHOD_NAME" value="" /> | ||
466 | + <option name="FOLDER_NAME" value="" /> | ||
467 | + <option name="TEST_TYPE" value="TEST_SCRIPT" /> | ||
468 | + <option name="PATTERN" value="" /> | ||
469 | + <option name="USE_PATTERN" value="false" /> | ||
470 | + <option name="testToRun" value="" /> | ||
471 | + <option name="keywords" value="" /> | ||
472 | + <option name="params" value="" /> | ||
473 | + <option name="USE_PARAM" value="false" /> | ||
474 | + <option name="USE_KEYWORD" value="false" /> | ||
475 | + <method /> | ||
476 | + </configuration> | ||
477 | + <list size="1"> | ||
478 | + <item index="0" class="java.lang.String" itemvalue="Python.digger" /> | ||
479 | + </list> | ||
480 | + <recent_temporary> | ||
481 | + <list size="1"> | ||
482 | + <item index="0" class="java.lang.String" itemvalue="Python.digger" /> | ||
483 | + </list> | ||
484 | + </recent_temporary> | ||
485 | + </component> | ||
486 | + <component name="ShelveChangesManager" show_recycled="false"> | ||
487 | + <option name="remove_strategy" value="false" /> | ||
488 | + </component> | ||
489 | + <component name="TaskManager"> | ||
490 | + <task active="true" id="Default" summary="Default task"> | ||
491 | + <changelist id="33419617-7da8-422e-9ac6-68e0b317ebf8" name="Default" comment="" /> | ||
492 | + <created>1477294531575</created> | ||
493 | + <option name="number" value="Default" /> | ||
494 | + <option name="presentableId" value="Default" /> | ||
495 | + <updated>1477294531575</updated> | ||
496 | + </task> | ||
497 | + <servers /> | ||
498 | + </component> | ||
499 | + <component name="ToolWindowManager"> | ||
500 | + <frame x="1915" y="31" width="1930" height="1174" extended-state="6" /> | ||
501 | + <editor active="true" /> | ||
502 | + <layout> | ||
503 | + <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" /> | ||
504 | + <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" /> | ||
505 | + <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" /> | ||
506 | + <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" /> | ||
507 | + <window_info id="Python Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" /> | ||
508 | + <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" /> | ||
509 | + <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.32992566" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> | ||
510 | + <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> | ||
511 | + <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" /> | ||
512 | + <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" /> | ||
513 | + <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> | ||
514 | + <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" /> | ||
515 | + <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" /> | ||
516 | + <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> | ||
517 | + <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> | ||
518 | + <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> | ||
519 | + <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" /> | ||
520 | + <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> | ||
521 | + </layout> | ||
522 | + </component> | ||
523 | + <component name="VcsContentAnnotationSettings"> | ||
524 | + <option name="myLimit" value="2678400000" /> | ||
525 | + </component> | ||
526 | + <component name="XDebuggerManager"> | ||
527 | + <breakpoint-manager /> | ||
528 | + <watches-manager /> | ||
529 | + </component> | ||
530 | + <component name="editorHistoryManager"> | ||
531 | + <entry file="file://$PROJECT_DIR$/scripts/dig.service"> | ||
532 | + <provider selected="true" editor-type-id="text-editor"> | ||
533 | + <state relative-caret-position="133"> | ||
534 | + <caret line="7" column="35" selection-start-line="7" selection-start-column="35" selection-end-line="7" selection-end-column="35" /> | ||
535 | + <folding /> | ||
536 | + </state> | ||
537 | + </provider> | ||
538 | + </entry> | ||
539 | + <entry file="file://$PROJECT_DIR$/scripts/digger.sh"> | ||
540 | + <provider selected="true" editor-type-id="text-editor"> | ||
541 | + <state relative-caret-position="133"> | ||
542 | + <caret line="7" column="39" selection-start-line="7" selection-start-column="39" selection-end-line="7" selection-end-column="39" /> | ||
543 | + <folding /> | ||
544 | + </state> | ||
545 | + </provider> | ||
546 | + </entry> | ||
547 | + <entry file="file://$PROJECT_DIR$/modules/__init__.py"> | ||
548 | + <provider selected="true" editor-type-id="text-editor"> | ||
549 | + <state relative-caret-position="0"> | ||
550 | + <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> | ||
551 | + <folding /> | ||
552 | + </state> | ||
553 | + </provider> | ||
554 | + </entry> | ||
555 | + <entry file="file://$PROJECT_DIR$/modulevar.py"> | ||
556 | + <provider selected="true" editor-type-id="text-editor"> | ||
557 | + <state relative-caret-position="171"> | ||
558 | + <caret line="9" column="29" selection-start-line="9" selection-start-column="29" selection-end-line="9" selection-end-column="29" /> | ||
559 | + <folding /> | ||
560 | + </state> | ||
561 | + </provider> | ||
562 | + </entry> | ||
563 | + <entry file="file://$PROJECT_DIR$/vars/ntfsvol.py"> | ||
564 | + <provider selected="true" editor-type-id="text-editor"> | ||
565 | + <state relative-caret-position="247"> | ||
566 | + <caret line="13" column="41" selection-start-line="13" selection-start-column="41" selection-end-line="13" selection-end-column="41" /> | ||
567 | + <folding /> | ||
568 | + </state> | ||
569 | + </provider> | ||
570 | + </entry> | ||
571 | + <entry file="file://$PROJECT_DIR$/modules/mft.py"> | ||
572 | + <provider selected="true" editor-type-id="text-editor"> | ||
573 | + <state relative-caret-position="266"> | ||
574 | + <caret line="14" column="12" selection-start-line="14" selection-start-column="12" selection-end-line="14" selection-end-column="12" /> | ||
575 | + <folding /> | ||
576 | + </state> | ||
577 | + </provider> | ||
578 | + </entry> | ||
579 | + <entry file="file://$PROJECT_DIR$/module.py"> | ||
580 | + <provider selected="true" editor-type-id="text-editor"> | ||
581 | + <state relative-caret-position="95"> | ||
582 | + <caret line="5" column="19" selection-start-line="5" selection-start-column="19" selection-end-line="5" selection-end-column="19" /> | ||
583 | + <folding /> | ||
584 | + </state> | ||
585 | + </provider> | ||
586 | + </entry> | ||
587 | + <entry file="file://$PROJECT_DIR$/digger.py"> | ||
588 | + <provider selected="true" editor-type-id="text-editor"> | ||
589 | + <state relative-caret-position="57"> | ||
590 | + <caret line="3" column="25" selection-start-line="3" selection-start-column="25" selection-end-line="3" selection-end-column="25" /> | ||
591 | + <folding /> | ||
592 | + </state> | ||
593 | + </provider> | ||
594 | + </entry> | ||
595 | + </component> | ||
596 | +</project> | ||
0 | \ No newline at end of file | 597 | \ No newline at end of file |
__pycache__/module.cpython-34.pyc
0 → 100644
No preview for this file type
__pycache__/modulevar.cpython-34.pyc
0 → 100644
No preview for this file type
digger.py
0 → 100644
1 | +++ a/digger.py | ||
1 | +#! /usr/bin/env python3 | ||
2 | + | ||
3 | +import locale | ||
4 | +from dialog import Dialog | ||
5 | +import glob | ||
6 | +import os | ||
7 | +import sys | ||
8 | +import subprocess as sp | ||
9 | + | ||
10 | +sys.path.append('modules') | ||
11 | +sys.path.append('vars') | ||
12 | + | ||
13 | +vars = {} | ||
14 | + | ||
15 | +def getModules(): | ||
16 | + choiceList = [] | ||
17 | + modules = [] | ||
18 | + for filename in glob.glob('./modules/*.py'): | ||
19 | + modules.append(os.path.splitext(os.path.basename(filename))[0]) | ||
20 | + modules.remove('__init__') | ||
21 | + | ||
22 | + for modname in modules: | ||
23 | + try: | ||
24 | + module = __import__(modname) | ||
25 | + instance = module.getInstance(vars) | ||
26 | + choiceList.append((instance.name,instance.description,False)) | ||
27 | + del instance | ||
28 | + del module | ||
29 | + sys.modules.pop(modname) | ||
30 | + except Exception as e: | ||
31 | + print("Exception raised while importing " + modname) | ||
32 | + | ||
33 | + choiceList.append(("all","Execute all modules",False)) | ||
34 | + return choiceList | ||
35 | + | ||
36 | +def prepareModule(moduleName): | ||
37 | + module = __import__(moduleName).getInstance(vars) | ||
38 | + module.getVars() | ||
39 | + return module | ||
40 | + | ||
41 | +locale.setlocale(locale.LC_ALL, '') | ||
42 | +d = Dialog(dialog="dialog",autowidgetsize=True) | ||
43 | +d.set_background_title("My little program") | ||
44 | + | ||
45 | +moduleList = getModules() | ||
46 | +code, tags = d.checklist("Select modules to execute", | ||
47 | + choices=moduleList, | ||
48 | + title="Module selection") | ||
49 | +if code == d.OK: | ||
50 | + runlist = [] | ||
51 | + if "All" in tags: | ||
52 | + for module in moduleList: | ||
53 | + runlist.append(prepareModule(module)) | ||
54 | + else: | ||
55 | + for tag in tags: | ||
56 | + runlist.append(prepareModule(tag)) | ||
57 | + | ||
58 | + sp.call('clear', shell=True) | ||
59 | + | ||
60 | + for module in runlist: | ||
61 | + print("Running " + module.name + "...") | ||
62 | + try: | ||
63 | + module.run() | ||
64 | + except Exception as e: | ||
65 | + print("Exception raised while running " + module.name + ": " + str(e)) |
module.py
0 → 100644
1 | +++ a/module.py | ||
1 | +from abc import ABCMeta, abstractmethod | ||
2 | + | ||
3 | +class Module(object): | ||
4 | + __metaclass__ = ABCMeta | ||
5 | + | ||
6 | + sharedVars = {} | ||
7 | + name = "" | ||
8 | + description = "" | ||
9 | + vars = [] | ||
10 | + | ||
11 | + @abstractmethod | ||
12 | + def run(self): | ||
13 | + pass | ||
14 | + | ||
15 | + def getVars(self): | ||
16 | + for var in self.vars: | ||
17 | + if var in self.sharedVars: | ||
18 | + continue | ||
19 | + modvar = __import__(var).getInstance() | ||
20 | + modvar.query() | ||
21 | + self.sharedVars[modvar.name] = modvar | ||
0 | \ No newline at end of file | 22 | \ No newline at end of file |
modules/__init__.py
0 → 100644
1 | +++ a/modules/__init__.py |
modules/__pycache__/mft.cpython-34.pyc
0 → 100644
No preview for this file type
modules/mft.py
0 → 100644
1 | +++ a/modules/mft.py | ||
1 | +from module import Module | ||
2 | + | ||
3 | +def getInstance(vars): | ||
4 | + return MFTModule(vars) | ||
5 | + | ||
6 | +class MFTModule(Module): | ||
7 | + | ||
8 | + def __init__(self,vars): | ||
9 | + self.sharedVars = vars | ||
10 | + self.name = "mft" | ||
11 | + self.description = "Extracts NTFS MFT" | ||
12 | + self.vars = ["ntfsvol"] | ||
13 | + | ||
14 | + def run(self): | ||
15 | + pass | ||
16 | + |
modulevar.py
0 → 100644
1 | +++ a/modulevar.py | ||
1 | +from abc import ABCMeta,abstractmethod | ||
2 | + | ||
3 | +class Modulevar(object): | ||
4 | + __metaclass__ = ABCMeta | ||
5 | + | ||
6 | + name = "" | ||
7 | + description = "" | ||
8 | + value = None | ||
9 | + | ||
10 | + def setValue(self,value): | ||
11 | + self.value = value | ||
12 | + | ||
13 | + @abstractmethod | ||
14 | + def query(self): | ||
15 | + pass | ||
0 | \ No newline at end of file | 16 | \ No newline at end of file |
scripts/dig.service
0 → 100644
1 | +++ a/scripts/dig.service | ||
1 | +[Unit] | ||
2 | +Description=Gravedigger's start script | ||
3 | +After=getty@tty1.service | ||
4 | + | ||
5 | +[Service] | ||
6 | +Type=simple | ||
7 | +ExecStart=/usr/local/bin/digger.sh | ||
8 | +ExecReload=/usr/local/bin/digger.sh | ||
9 | +StandardInput=tty | ||
10 | +StandardOutput=tty | ||
11 | +TTYPath=/dev/tty1 | ||
12 | +Restart=always | ||
13 | + | ||
14 | +[Install] | ||
15 | +WantedBy=default.target |
scripts/digger.sh
0 → 100644
vars/__pycache__/ntfsvol.cpython-34.pyc
0 → 100644
No preview for this file type
vars/ntfsvol.py
0 → 100644
1 | +++ a/vars/ntfsvol.py | ||
1 | +from modulevar import Modulevar | ||
2 | + | ||
3 | +def getInstance(): | ||
4 | + return NTFSVol() | ||
5 | + | ||
6 | +class NTFSVol(Modulevar): | ||
7 | + | ||
8 | + def __init__(self): | ||
9 | + self.name = "ntfsvol" | ||
10 | + self.description = "NTFS Volume" | ||
11 | + self.value = None | ||
12 | + | ||
13 | + def query(self): | ||
14 | + print("WHAT IS VAR " + self.name) | ||
0 | \ No newline at end of file | 15 | \ No newline at end of file |