Imported Upstream version 1.2.1
[packages/binwalk.git] / binwalk / common.py
index c4ca2d0..5ad52f6 100644 (file)
@@ -66,3 +66,26 @@ def get_quoted_strings(string):
                return re.findall(r'\"(.*)\"', string)[0]
        except:
                return ''
+
+def unique_file_name(base_name, extension=''):
+       '''
+       Creates a unique file name based on the specified base name.
+
+       @base_name - The base name to use for the unique file name.
+       @extension - The file extension to use for the unique file name.
+
+       Returns a unique file string.
+       '''
+       idcount = 0
+       
+       if extension and not extension.startswith('.'):
+               extension = '.%s' % extension
+
+       fname = base_name + extension
+
+       while os.path.exists(fname):
+               fname = "%s-%d%s" % (base_name, idcount, extension)
+               idcount += 1
+
+       return fname
+