summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--ranger/container/tags.py17
1 files changed, 11 insertions, 6 deletions
diff --git a/ranger/container/tags.py b/ranger/container/tags.py
index ed015d16..f375fcbd 100644
--- a/ranger/container/tags.py
+++ b/ranger/container/tags.py
@@ -19,6 +19,7 @@ import string
 ALLOWED_KEYS = string.ascii_letters + string.digits + string.punctuation
 
 class Tags(object):
+	default_tag = '*'
 
 	def __init__(self, filename):
 
@@ -36,7 +37,7 @@ class Tags(object):
 		if 'mark' in others:
 			mark = others['mark']
 		else:
-			mark = '*'
+			mark = self.default_tag
 		self.sync()
 		for item in items:
 			self.tags[item] = mark
@@ -55,11 +56,11 @@ class Tags(object):
 		if 'mark' in others:
 			mark = others['mark']
 		else:
-			mark = '*'
+			mark = self.default_tag
 		self.sync()
 		for item in items:
 			try:
-				if item in self and self.tags[item] == mark:
+				if item in self and mark in (self.tags[item], self.default_tag):
 					del(self.tags[item])
 				else:
 					self.tags[item] = mark
@@ -71,7 +72,7 @@ class Tags(object):
 		if item in self.tags:
 			return self.tags[item]
 		else:
-			return '*'
+			return self.default_tag
 
 	def sync(self):
 		try:
@@ -93,7 +94,10 @@ class Tags(object):
 
 	def _compile(self, f):
 		for path, mark in self.tags.items():
-			if mark in ALLOWED_KEYS:
+			if mark == self.default_tag:
+				# COMPAT: keep the old format if the default tag is used
+				f.write(path + '\n')
+			elif mark in ALLOWED_KEYS:
 				f.write('{0}:{1}\n'.format(mark, path))
 
 	def _parse(self, f):
@@ -105,7 +109,8 @@ class Tags(object):
 				if mark in ALLOWED_KEYS:
 					result[path] = mark
 			else:
-				result[line] = '*'
+				result[line] = self.default_tag
+
 		return result
 
 	def __nonzero__(self):
sion' href='/akspecs/ranger/blame/Makefile?h=v1.9.0b1&id=636d93936d26fccdf6fe530568db1b4c41c3f2bf'>^
3a1e1f28 ^
3a1e1f28 ^

2c5ea01d ^
5fca2a0b ^
b0a216f5 ^
2c5ea01d ^
b0a216f5 ^



3a1e1f28 ^
b0a216f5 ^
e7758eba ^
b0a216f5 ^

5fca2a0b ^
b0b3af33 ^


b0a216f5 ^
b0b3af33 ^

2c5ea01d ^
5fca2a0b ^
b0b3af33 ^
2c5ea01d ^
582f3519 ^
b06433bc ^
582f3519 ^

94c5d83e ^
dee6cfa6 ^
e9e4b4ff ^
b0a216f5 ^
a082b66a ^

b0a216f5 ^
e9e4b4ff ^





ad75190c ^
e9e4b4ff ^
5fca2a0b ^


9cf43c17 ^
5fca2a0b ^

c7720fff ^



8d21b83c ^


e9e4b4ff ^
25a4162d ^
e9e4b4ff ^
0c2c782d ^
636d9393 ^
b0a216f5 ^
c0d63e78 ^


bf0d09b5 ^
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82