def addNew(self): # Updated date in same format that database updated_date. updated_date = datetime.strptime(self.updated_date, "%Y-%m-%d") # The root version (0.5.1 -> 0.5) version = ".".join(self.sg_ver.split(".")[0:-1]) # Create the path. ftpPath = releasePathFTP + version + "/sources/shogun-" + self.sg_ver httpPath = releasePathHTTP + version + "/sources/shogun-" + self.sg_ver ftpDataPath = releasePathDataFTP + "shogun-data-" + self.data_ver httpDataPath = releasePathDataHTTP + "shogun-data-" + self.data_ver try: record = New.objects.get(updated_date=updated_date) record.stored_date = datetime.now() record.sg_ver = self.sg_ver record.sg_bver = self.sg_bver record.libshogun_ver = self.libshogun_ver record.data_ver = self.data_ver record.param_ver = self.param_ver record.libshogunui = self.libshogunui record.author = self.author record.mail = self.mail record.content = str(self.content) record.ftp_data = ftpDataPath + ".tar.bz2" record.http_data = httpDataPath + ".tar.bz2" record.ftp_source_code = ftpPath + ".tar.bz2" record.http_source_code = httpPath + ".tar.bz2" record.ftp_md5sum = ftpPath + ".md5sum" record.http_md5sum = httpPath + ".md5sum" record.ftp_PGP_signature = ftpPath + ".tar.bz2.asc" record.http_PGP_signature = httpPath + ".tar.bz2.asc" # Add release download links. record.save() if self.DEBUG: print("New modified!") except New.DoesNotExist: record = New(stored_date=datetime.now(), \ sg_ver=self.sg_ver, \ sg_bver=self.sg_bver, \ libshogun_ver=self.libshogun_ver, \ data_ver=self.data_ver, \ param_ver=self.param_ver, \ libshogunui=self.libshogunui, updated_date=updated_date, \ author=self.author, \ mail=self.mail, \ content=self.content, \ ftp_data=ftpDataPath + ".tar.bz2", \ http_data=httpDataPath + ".tar.bz2", \ ftp_source_code=ftpPath + ".tar.bz2", \ http_source_code=httpPath + ".tar.bz2", \ ftp_md5sum=ftpPath + ".md5sum", \ http_md5sum=httpPath + ".md5sum", \ ftp_PGP_signature=ftpPath + ".tar.bz2.asc", \ http_PGP_signature=httpPath + ".tar.bz2.asc") record.save() if self.DEBUG: print("New added!")
def parseFile(self, path): if self.DEBUG: # Print information. print("Parsing file : " + path) # News structure. sg_ver = '0.0.0' # Shogun version. sg_bver = '0.0.0' # libshogun_ver = '0.0' # Libshogun version. data_ver = '0.0' # Data version. param_ver = '0.0' # Parameter version updated_date = '00.00.0000' # Date content = '' # Content # Tags. stop_tag_ul = '' stop_tag_li = '' news_start = False for l in file(path).readlines(): if news_start: if l == '\n': break s = l.lstrip().rstrip() if s.startswith('* This'): content += '' + s.lstrip('* ') + '\n<ul>\n' elif s.startswith('* '): content += stop_tag_li + stop_tag_ul content += '<li><h5>' + s.lstrip('* ') + '</h5>\n<ul>' stop_tag_li = '' stop_tag_ul = '</ul></li>\n' elif s.startswith('-'): content += stop_tag_li content += '<li>' + s.lstrip('- ') stop_tag_li = '</li>\n' else: content += ' ' + s.lstrip() else: if l.startswith("20"): updated_date = '%s.%s.%s' % (l[8:10], l[5:7], l[0:4]) elif l.find("* SHOGUN") != -1: i = l.find("* SHOGUN") v = l[i + 2:].split() sg_ver = v[3] sg_bver = '.'.join(sg_ver.split('.')[0:2]) libshogun_ver = v[5][:-1] data_ver = v[7][:-1] param_ver = v[9][:-1] news_start = True content += stop_tag_li + stop_tag_ul + '</ul>\n' + '\n' # Save the new in DB. current_date = datetime.strftime(datetime.now(), '%d.%m.%Y') try: record = New.objects.get(updated_date=updated_date) record.stored_date = current_date record.sg_ver = sg_ver record.sg_bver = sg_bver record.libshogun_ver = libshogun_ver record.data_ver = data_ver record.param_ver = param_ver record.updated_date = updated_date record.content = content record.save() except New.DoesNotExist: record = New(stored_date=current_date, sg_ver=sg_ver, sg_bver=sg_bver, libshogun_ver=libshogun_ver, data_ver=data_ver, param_ver=param_ver, updated_date=updated_date, content=content) record.save() if self.DEBUG: print("adding ...") print("date:" + updated_date) print("libshogun_ver:" + libshogun_ver) print("data_ver:" + data_ver) print("param_ver:" + param_ver) print("sg_ver:" + sg_ver) print("sg_bver:" + sg_bver) print("")