@@ -26,6 +26,13 @@ def add_arguments(self, parser):
26
26
help = 'Truncat any data that would not fit into the DB' ,
27
27
default = True ,
28
28
)
29
+ parser .add_argument (
30
+ '--rr' ,
31
+ dest = 'rr' ,
32
+ action = 'store_true' ,
33
+ help = 'Import in Radio Refrence Format' ,
34
+ default = True ,
35
+ )
29
36
30
37
def handle (self , * args , ** options ):
31
38
import_tg_file (self , options )
@@ -36,6 +43,7 @@ def import_tg_file(self, options):
36
43
file_name = options ['file' ]
37
44
system_id = options ['system' ]
38
45
truncate = options ['truncate' ]
46
+ rrFormat = options ['rr' ]
39
47
try :
40
48
system = System .objects .get (pk = system_id )
41
49
except System .DoesNotExist :
@@ -51,33 +59,55 @@ def import_tg_file(self, options):
51
59
with open (file_name ) as tg_file :
52
60
tg_info = csv .reader (tg_file , delimiter = ',' , quotechar = '"' )
53
61
line_number = 0
54
- for row in tg_info :
55
- line_number += 1
56
- try :
57
- if truncate :
58
- if len (row [2 ]) > mode_max_length :
59
- row [2 ] = row [2 ][:mode_max_length ]
60
- self .stdout .write ("Truncating mode from line ({}) TG {}" .format (line_number , row [3 ]))
61
- if len (row [3 ]) > alpha_tag_max_length :
62
- row [3 ] = row [3 ][:alpha_tag_max_length ]
63
- self .stdout .write ("Truncating alpha_tag from line ({}) TG {}" .format (line_number , row [3 ]))
64
- if len (row [4 ]) > description_max_length :
65
- row [4 ] = row [4 ][:description_max_length ]
66
- self .stdout .write ("Truncating description from line ({}) TG {}" .format (line_number , row [3 ]))
67
- #print('LEN ' + str(len(row)))
68
- priority = 3
62
+ if not rrFormat :
63
+ for row in tg_info :
64
+ line_number += 1
69
65
try :
70
- priority = row [6 ]
71
- except IndexError :
66
+ if truncate :
67
+ if len (row [2 ]) > mode_max_length :
68
+ row [2 ] = row [2 ][:mode_max_length ]
69
+ self .stdout .write ("Truncating mode from line ({}) TG {}" .format (line_number , row [3 ]))
70
+ if len (row [3 ]) > alpha_tag_max_length :
71
+ row [3 ] = row [3 ][:alpha_tag_max_length ]
72
+ self .stdout .write ("Truncating alpha_tag from line ({}) TG {}" .format (line_number , row [3 ]))
73
+ if len (row [4 ]) > description_max_length :
74
+ row [4 ] = row [4 ][:description_max_length ]
75
+ self .stdout .write ("Truncating description from line ({}) TG {}" .format (line_number , row [3 ]))
76
+ #print('LEN ' + str(len(row)))
77
+ priority = 3
78
+ try :
79
+ priority = row [7 ]
80
+ except IndexError :
81
+ pass
82
+ try :
83
+ priority = int (priority )
84
+ except ValueError :
85
+ priority = 3
86
+ obj , create = TalkGroup .objects .update_or_create (dec_id = row [0 ], system = system , defaults = {'mode' : row [2 ], 'alpha_tag' : row [3 ], 'description' : row [4 ], 'priority' : priority })
87
+ obj .service_type = row [5 ][:20 ]
88
+ obj .save ()
89
+ except (IntegrityError , IndexError ):
72
90
pass
91
+ #print("Skipping {}".format(row[3]))
92
+ else :
93
+ for row in tg_info :
94
+ line_number += 1
73
95
try :
74
- priority = int (priority )
75
- except ValueError :
96
+ if truncate :
97
+ if len (row [3 ]) > mode_max_length :
98
+ row [3 ] = row [3 ][:mode_max_length ]
99
+ self .stdout .write ("Truncating mode from line ({}) TG {}" .format (line_number , row [2 ]))
100
+ if len (row [2 ]) > alpha_tag_max_length :
101
+ row [2 ] = row [2 ][:alpha_tag_max_length ]
102
+ self .stdout .write ("Truncating alpha_tag from line ({}) TG {}" .format (line_number , row [2 ]))
103
+ if len (row [4 ]) > description_max_length :
104
+ row [4 ] = row [4 ][:description_max_length ]
105
+ self .stdout .write ("Truncating description from line ({}) TG {}" .format (line_number , row [2 ]))
106
+ #print('LEN ' + str(len(row)))
76
107
priority = 3
77
- obj , create = TalkGroup .objects .update_or_create (dec_id = row [0 ], system = system , defaults = {'mode' : row [2 ], 'alpha_tag' : row [3 ], 'description' : row [4 ], 'priority' : priority })
78
- obj .service_type = row [5 ][:20 ]
79
- obj .save ()
80
- except (IntegrityError , IndexError ):
81
- pass
82
- #print("Skipping {}".format(row[3]))
83
-
108
+ obj , create = TalkGroup .objects .update_or_create (dec_id = row [0 ], system = system , defaults = {'mode' : row [3 ], 'alpha_tag' : row [2 ], 'description' : row [4 ], 'priority' : priority })
109
+ obj .service_type = row [5 ][:20 ]
110
+ obj .save ()
111
+ except (IntegrityError , IndexError , ValueError ):
112
+ pass
113
+ #print("Skipping {}".format(row[3]))
0 commit comments