)]}'
{"oslo_versionedobjects/fields.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"ab5a23417992b4316fdd9edcb453559e2ddbc45d","unresolved":false,"context_lines":[{"line_number":329,"context_line":""},{"line_number":330,"context_line":"class AddressBase(FieldType):"},{"line_number":331,"context_line":"    def get_schema(self):"},{"line_number":332,"context_line":"        if hasattr(self, \"PATTERN\"):"},{"line_number":333,"context_line":"            return {\u0027type\u0027: [\u0027string\u0027], \u0027pattern\u0027: self.PATTERN}"},{"line_number":334,"context_line":"        else:"},{"line_number":335,"context_line":"            return super(AddressBase, self).get_schema()"},{"line_number":336,"context_line":""},{"line_number":337,"context_line":""},{"line_number":338,"context_line":"class UUID(AddressBase):"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba5da102_464725bb","line":335,"range":{"start_line":332,"start_character":0,"end_line":335,"end_character":56},"updated":"2016-10-28 09:59:47.000000000","message":"Does the whole purpose of the base class is to say all these derived classes has one thing in common is that they have a pattern. Can we just fail with an exception if some derived class breaks this contract?","commit_id":"2ee208491f56585f4dcf2bd6c3253d5120e29899"},{"author":{"_account_id":20411,"name":"Julian","email":"julian.sy@att.com","username":"syjulian"},"change_message_id":"06e87dca48aa5ab2f4718a7cb78b8408269767ea","unresolved":false,"context_lines":[{"line_number":329,"context_line":""},{"line_number":330,"context_line":"class AddressBase(FieldType):"},{"line_number":331,"context_line":"    def get_schema(self):"},{"line_number":332,"context_line":"        if hasattr(self, \"PATTERN\"):"},{"line_number":333,"context_line":"            return {\u0027type\u0027: [\u0027string\u0027], \u0027pattern\u0027: self.PATTERN}"},{"line_number":334,"context_line":"        else:"},{"line_number":335,"context_line":"            return super(AddressBase, self).get_schema()"},{"line_number":336,"context_line":""},{"line_number":337,"context_line":""},{"line_number":338,"context_line":"class UUID(AddressBase):"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba5da102_f1eb66ae","line":335,"range":{"start_line":332,"start_character":0,"end_line":335,"end_character":56},"in_reply_to":"ba5da102_464725bb","updated":"2016-10-31 15:24:34.000000000","message":"Done","commit_id":"2ee208491f56585f4dcf2bd6c3253d5120e29899"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"1e081999c19952a4af2e69dafb14241bf2e2da9f","unresolved":false,"context_lines":[{"line_number":335,"context_line":"            return super(AddressBase, self).get_schema()"},{"line_number":336,"context_line":""},{"line_number":337,"context_line":""},{"line_number":338,"context_line":"class UUID(AddressBase):"},{"line_number":339,"context_line":""},{"line_number":340,"context_line":"    PATTERN \u003d (r\u0027^[a-fA-F0-9]{8}-?[a-fA-F0-9]{4}-?[a-fA-F0-9]{4}-?[a-fA-F0-9]\u0027"},{"line_number":341,"context_line":"               r\u0027{4}-?[a-fA-F0-9]{12}$\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba5da102_660509c1","line":338,"updated":"2016-10-28 09:54:31.000000000","message":"I feel that UUID is not an address so the AddressBase base calls feels weird. However I see the similarity regarding the json schema implementation. Can we express this with a better name instead of AddressBase? Something like:\nStringWithPattern\nStringPatter\nRegex","commit_id":"2ee208491f56585f4dcf2bd6c3253d5120e29899"},{"author":{"_account_id":20411,"name":"Julian","email":"julian.sy@att.com","username":"syjulian"},"change_message_id":"06e87dca48aa5ab2f4718a7cb78b8408269767ea","unresolved":false,"context_lines":[{"line_number":335,"context_line":"            return super(AddressBase, self).get_schema()"},{"line_number":336,"context_line":""},{"line_number":337,"context_line":""},{"line_number":338,"context_line":"class UUID(AddressBase):"},{"line_number":339,"context_line":""},{"line_number":340,"context_line":"    PATTERN \u003d (r\u0027^[a-fA-F0-9]{8}-?[a-fA-F0-9]{4}-?[a-fA-F0-9]{4}-?[a-fA-F0-9]\u0027"},{"line_number":341,"context_line":"               r\u0027{4}-?[a-fA-F0-9]{12}$\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba5da102_d1e822b7","line":338,"in_reply_to":"ba5da102_660509c1","updated":"2016-10-31 15:24:34.000000000","message":"Done","commit_id":"2ee208491f56585f4dcf2bd6c3253d5120e29899"}]}
