summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'g_cran/cran_read.py')
-rw-r--r--g_cran/cran_read.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/g_cran/cran_read.py b/g_cran/cran_read.py
index 63c25ed..8e8f840 100644
--- a/g_cran/cran_read.py
+++ b/g_cran/cran_read.py
@@ -150,10 +150,17 @@ def pmsify_package_data(data,remote_repository):
e_vars['rdepend']=deps
e_vars['iuse']="doc"
- e_vars['homepage']=remote_repository
+ try:
+ uri_regex="([a-z0-9+.-]+):(?://(?:((?:[a-z0-9-._~!$&'()*+,;=:]|%[0-9A-F]{2})*)@)?((?:[a-z0-9-._~!$&'()*+,;=]|%[0-9A-F]{2})*)(?::(\d*))?(/(?:[a-z0-9-._~!$&'()*+,;=:@/]|%[0-9A-F]{2})*)?|(/?(?:[a-z0-9-._~!$&'()*+,;=:@]|%[0-9A-F]{2})+(?:[a-z0-9-._~!$&'()*+,;=:@/]|%[0-9A-F]{2})*)?)(?:\?((?:[a-z0-9-._~!$&'()*+,;=:/?@]|%[0-9A-F]{2})*))?(?:#((?:[a-z0-9-._~!$&'()*+,;=:/?@]|%[0-9A-F]{2})*))?"
+ find_first_url=re.finditer(uri_regex,data['url'])
+ e_vars['homepage']=find_first_url.next().group(0)
+ except: #error processing url from data['url']
+ e_vars['homepage']=remote_repository
e_vars['keywords']="~x86 ~amd64"
- if 'description' in data:
- e_vars['description']=data['description'].strip().replace('\n',' ')
+ if 'title' in data:
+ e_vars['description']=data['title'].strip().replace('\n',' ')
+ elif 'description' in data:
+ e_vars['description']=data['description'].split('. ')[0].strip().replace('\n',' ') #first sentence
else:
e_vars['description']=e_vars['pn']
if 'license' in data: #fixme parse license data