From 0ad5f9df8a188c7ba010fb86143e67dd391d6671 Mon Sep 17 00:00:00 2001
From: Anders Blomdell <anders.blomdell@control.lth.se>
Date: Wed, 30 Jul 2014 15:55:13 +0100
Subject: [PATCH] Version 2014-07-30 16:55

---
 src/mio/filecache.py | 24 +++++++++++++++++++++---
 1 file changed, 21 insertions(+), 3 deletions(-)

diff --git a/src/mio/filecache.py b/src/mio/filecache.py
index a47cf31..4706f80 100755
--- a/src/mio/filecache.py
+++ b/src/mio/filecache.py
@@ -122,9 +122,25 @@ class Mirror:
             
             
 def expand_mirror(path):
+    def unique_id(path):
+        all = set(path)
+        N = 0
+        while True:
+            N = N + 1
+            result = {}
+            test = set()
+            for p in all:
+                name = '__'.join(p[0].split('/')[-N:])
+                if name in test:
+                    break
+                test.update(name)
+                result[p] = name
+            break
+        return result
+                
     class Info:
         def __init__(self, id, path, urls):
-            self.id = 'repo_%d' % id
+            self.id = id
             self.path = path
             self.urls = urls
             pass
@@ -134,8 +150,10 @@ def expand_mirror(path):
                                                       self.urls)
         pass
     result = []
-    for p,i in zip(path, range(len(path))):
-        result.append(Info(i, p, mirror[p].urls))
+    id = unique_id(path)
+    for p in path:
+        result.append(Info(id[p], p, mirror[p].urls))
+
     return result
 
 def cleanup():
-- 
GitLab