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 | 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 | 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 | 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 | 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 | 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 | 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 | 15 | \ No newline at end of file | ... | ... |