equal
deleted
inserted
replaced
897 return not self.__eq__(other) |
897 return not self.__eq__(other) |
898 |
898 |
899 def __repr__(self): |
899 def __repr__(self): |
900 return "Etag(%r, weak=%r)" % (self.tag, self.weak) |
900 return "Etag(%r, weak=%r)" % (self.tag, self.weak) |
901 |
901 |
|
902 @staticmethod |
902 def parse(tokens): |
903 def parse(tokens): |
903 tokens = tuple(tokens) |
904 tokens = tuple(tokens) |
904 if len(tokens) == 1 and not isinstance(tokens[0], Token): |
905 if len(tokens) == 1 and not isinstance(tokens[0], Token): |
905 return ETag(tokens[0]) |
906 return ETag(tokens[0]) |
906 |
907 |
907 if(len(tokens) == 3 and tokens[0] == "w" |
908 if(len(tokens) == 3 and tokens[0] == "w" |
908 and tokens[1] == Token('/')): |
909 and tokens[1] == Token('/')): |
909 return ETag(tokens[2], weak=True) |
910 return ETag(tokens[2], weak=True) |
910 |
911 |
911 raise ValueError("Invalid ETag.") |
912 raise ValueError("Invalid ETag.") |
912 |
|
913 parse = staticmethod(parse) |
|
914 |
913 |
915 def generate(self): |
914 def generate(self): |
916 if self.weak: |
915 if self.weak: |
917 return 'W/'+quoteString(self.tag) |
916 return 'W/'+quoteString(self.tag) |
918 else: |
917 else: |