-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
112 lines (88 loc) · 2.89 KB
/
Copy pathmain.py
File metadata and controls
112 lines (88 loc) · 2.89 KB
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
#imports
import csv
from distutils.version import Version
import os
import tkinter as tk
from tkinter import filedialog
from tkinter import ttk
from tkinter.messagebox import showinfo, showwarning, showerror
import Template_Creator
#initialisation
##Variables
directory = None
name = None
version = None
filetype = None
counter = 0
n = 0
file_name = 'form.csv'
headers = ['Filename', 'Version', 'Mediatype']
sep = '_'
sep2 = '.'
extensions = ['.pdf','.dgn','.DGN', '.PDF', '.tiff', '.tif', '.TIFF', '.TIF', '.PNG', '.png', '.JPEG', '.BMP', '.JPG', '.jpeg', '.bmp', '.jpg']
ESR = ['tiff', 'tif', 'png', 'jpeg', 'bmp', 'jpg']
#Functions
root = tk.Tk()
root.withdraw()
def append_list(file_name):
with open(file_name, 'a') as csvfile:
writer = csv.writer(csvfile)
writer.writerow([name, version, filetype])
def Filesort(filetype1):
if str(filetype1).lower() == 'dgn' :
filetype = 'CAD'
elif str(filetype1).lower() == 'pdf':
filetype = 'PDF'
elif str(filetype1).lower() in ESR:
filetype = 'ESR'
else:
filetype = filetype1
return filetype
#writes headers into form
with open('form.csv', 'w', newline='\n') as csvfile:
writer = csv.writer(csvfile)
writer.writerow(headers)
#main
#while true:
# with open('form.csv', 'a') as csvfile:
# writer = csv.writer(csvfile, delimiter=',')
# writer.write
#prompts for location of records
directory = filedialog.askdirectory()
#logs the selected folder
print(directory)
#lists documents
for root, dirs, files in os.walk(directory):
for file in files:
print()
if any(file.endswith(s) for s in extensions):
counter = counter + 1
#print(counter)
#prints name of file
#print(file)
name = file.split(sep, 1)[0]
#print(name)
#version deriving
version1 = file.split(sep, 1)
version1 = version1[1]
version = version1.split(sep2, 1)[0]
#print(version)
#filetype deriving
filetype1 = version1.split(sep2, 1)
filetype1 = filetype1[1]
#print(filetype1)
filetype = Filesort(filetype1)
#print(filetype)
append_list('form.csv')
if counter == sum(1 for _, _, files in os.walk(directory) for f in files):
showinfo('Info','Code run sucessfully file can be found in '+ os.getcwd() + '/SourceRecord.csv')
else:
showerror('Error', 'There was an issue with the CSV creation please review the '+ os.getcwd() + '/form.csv')
with open(file_name, newline='') as in_file:
with open("SourceRecord.csv", 'w', newline='') as out_file:
writer = csv.writer(out_file)
for row in csv.reader(in_file):
if any(row) or any(field.strip() for field in row):
writer.writerow(row)
os.remove("form.csv")
Template_Creator.Word_import('SourceRecord.csv')