partageweb : gestion des nombres trop grands.
authorProgfou <jean-christophe.andre@auf.org>
Fri, 23 Mar 2012 11:50:49 +0000 (18:50 +0700)
committerProgfou <jean-christophe.andre@auf.org>
Fri, 23 Mar 2012 11:50:49 +0000 (18:50 +0700)
partageweb/index.py
partageweb2/partage-compta.py

index 71b4280..50d1b43 100644 (file)
@@ -51,6 +51,7 @@ function sw(id) {
 id_number = 0
 
 def human_size(size):
 id_number = 0
 
 def human_size(size):
+    if size <= 1: return "%s octet" % size
     if size < 1024: return "%s octets" % size
     size /= 1024
     if size < 1024: return "%s Kio" % size
     if size < 1024: return "%s octets" % size
     size /= 1024
     if size < 1024: return "%s Kio" % size
@@ -62,8 +63,8 @@ def human_size(size):
     return "%s Tio" % size
 
 def my_cmp(name1, name2):
     return "%s Tio" % size
 
 def my_cmp(name1, name2):
-    m1 = re.match('[0-9]+', name1)
-    m2 = re.match('[0-9]+', name2)
+    m1 = re.match('[0-9]{1,8}', name1)
+    m2 = re.match('[0-9]{1,8}', name2)
     if not m1 or not m2:
         return cmp(name1, name2)
     n1 = int(m1.group())
     if not m1 or not m2:
         return cmp(name1, name2)
     n1 = int(m1.group())
index a3d3c89..4dcc4be 100755 (executable)
@@ -40,7 +40,7 @@ def valid_path(path):
     return True
 
 def human_size(size):
     return True
 
 def human_size(size):
-    if size <= 1: return "0 octet"
+    if size <= 1: return "%s octet" % size
     if size < 1024: return "%s octets" % size
     size /= 1024
     if size < 1024: return "%s Kio" % size
     if size < 1024: return "%s octets" % size
     size /= 1024
     if size < 1024: return "%s Kio" % size
@@ -52,8 +52,8 @@ def human_size(size):
     return "%s Tio" % size
 
 def my_cmp(name1, name2):
     return "%s Tio" % size
 
 def my_cmp(name1, name2):
-    m1 = re.match('[0-9]+', name1)
-    m2 = re.match('[0-9]+', name2)
+    m1 = re.match('[0-9]{1,8}', name1)
+    m2 = re.match('[0-9]{1,8}', name2)
     if not m1 or not m2:
         return cmp(name1, name2)
     n1 = int(m1.group())
     if not m1 or not m2:
         return cmp(name1, name2)
     n1 = int(m1.group())
@@ -104,7 +104,7 @@ def dir_content(prefix, root, level=0):
             try:
                 name = name.decode('utf-8')
             except UnicodeDecodeError:
             try:
                 name = name.decode('utf-8')
             except UnicodeDecodeError:
-                name = INVALID_NAME % name.decode('latin-1')
+                name = INVALID_NAME % name.decode('iso-8859-1')
             desc_file = '.' + path + '/' + dir_description_filename
             if os.path.isfile(desc_file):
                 desc = file(desc_file).read().strip().replace('\n',' ')
             desc_file = '.' + path + '/' + dir_description_filename
             if os.path.isfile(desc_file):
                 desc = file(desc_file).read().strip().replace('\n',' ')
@@ -127,7 +127,7 @@ def dir_content(prefix, root, level=0):
             try:
                 name = name.decode('utf-8')
             except UnicodeDecodeError:
             try:
                 name = name.decode('utf-8')
             except UnicodeDecodeError:
-                name = INVALID_NAME % name.decode('latin-1')
+                name = INVALID_NAME % name.decode('iso-8859-1')
             content.append( file_link_template % (space,
                 urllib.quote(prefix + path), name, human_size(file_size)) )
     return content, file_size_total
             content.append( file_link_template % (space,
                 urllib.quote(prefix + path), name, human_size(file_size)) )
     return content, file_size_total