cubicweb/web/http_headers.py
changeset 12829 0e9ce897dfdf
parent 12567 26744ad37953
equal deleted inserted replaced
12828:dadbd4148a44 12829:0e9ce897dfdf
   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: