]> git.parisson.com Git - timeside.git/commitdiff
resolve conflict with origin to fix merging issues
authorThomas Fillon <thomas@parisson.com>
Mon, 19 Aug 2013 13:40:51 +0000 (15:40 +0200)
committerThomas Fillon <thomas@parisson.com>
Mon, 19 Aug 2013 13:40:51 +0000 (15:40 +0200)
1  2 
tests/test_AnalyzerResult.py
timeside/analyzer/aubio_pitch.py
timeside/analyzer/core.py

index 36247791743d67f4adf1817b6fe7bc94c59acdd0,d2aa9e04cf46594803311346f4cd2b25612b644a..6ee11315f6c19046d4c34ab31d852b4665b922ab
@@@ -49,7 -37,7 +49,8 @@@ class TestAnalyzerResult(TestCase)
  
      def testOnListOfList(self):
          "list of lists result"
 -        self.result.data = [[0, 1], [0, 1, 2]]
 +        self.result.data.data = [[0, 1, 3], [0, 1, 2]]
++        # TODO : @piem, @yomguy : check use case for [[0, 1], [0, 1, 2]]
  
      def testOnNumpyVectorOfFloat(self):
          "numpy vector of float"
index dba7fd97284bfabaae24f9ea7c8b4ffc4818562a,55ce86433129ff6f980d4ba12edb7a932dab250d..8ee73ff2ee7f69ad5f4025135dd6377e276037a4
@@@ -74,11 -74,10 +74,9 @@@ class AubioPitch(Analyzer)
          pitch.idMetadata.id = "aubio_pitch"
          pitch.idMetadata.name = "f0 (aubio)"
          pitch.idMetadata.unit = 'Hz'
--        # Get metadata
 -        # parameters : None # TODO check with Piem "default" and "freq" in setup
  
 +        # parameters : None # TODO check with Piem "default" and "freq" in setup
  
          # Set Data
          self.pitches = numpy.array(self.pitches)
          pitch.data.data = self.pitches
index 048a39c2ff357eb9defa8a41af101820eb32216b,4027c1de617e560a110aef47ad6db6cae8de073d..d27ecf0da7609dba02cd8e57661cc44c438c3dc1
@@@ -468,6 -351,6 +468,7 @@@ class AnalyzerResult(object)
              self.data = data
  
      def __setattr__(self, name, value):
++
          # Set Data with the proper type
          if name == 'data':
              if value is None:
      def __repr__(self):
          return self.to_json()
  
 -    def __eq__(self,other):
++
 +    def __eq__(self, other):
++
          return (isinstance(other, self.__class__)
              and self.as_dict() == other.as_dict())
  
@@@ -542,12 -424,14 +545,15 @@@ class AnalyzerResultContainer(object)
      def __eq__(self, other):
          if hasattr(other, 'results'):
              other = other.results
 -        for a, b in zip(self.results, other):
 -            if a != b:
 -                return False
 -        return True
 +
 +        return self.results == other
 +
 +    def __ne__(self, other):
 +        return not self.__eq__(other)
  
+     def __ne__(self, other):
+         return not self.__eq__(other)
      def add_result(self, analyzer_result):
          if type(analyzer_result) == list:
              for res in analyzer_result:
          root = ET.Element('timeside')
  
          for result in data_list:
 -            res_node = ET.SubElement(root, 'result')
 -            res_node.metadata = {'name': result.metadata.name,
 -                               'id': result.metadata.id}
 -            # Serialize Data
 -            data_node = ET.SubElement(res_node, 'data')
 -            if type(result.data) in [str, unicode]:
 -                data_node.text = result.data
 -            else:
 -                data_node.text = repr(result.data)
 -            # Serialize Metadata
 -            metadata_node = ET.SubElement(res_node, 'metadata')
 -            for (name, val) in result.metadata.as_dict().items():
 -                # TODO reorder keys
 -                child = ET.SubElement(metadata_node, name)
 -                if name == 'parameters':
 -                    for (par_key, par_val) in val.items():
 -                        par_child = ET.SubElement(child, par_key)
 -                        par_child.text = repr(par_val)
 -                else:
 -                    child.text = repr(val)
 -
 -        #tree = ET.ElementTree(root)
 -        return ET.tostring(root, encoding="utf-8", method="xml")
 +            if result:
 +                root.append(ET.fromstring(result.to_xml()))
 +
 +        return ET.tostring(root, encoding="utf-8", method="xml")
  
      def from_xml(self, xml_string):
          import xml.etree.ElementTree as ET
          results_json = json.loads(json_str)
          results = AnalyzerResultContainer()
          for res_json in results_json:
 -            res = AnalyzerResult(data=res_json['data'],
 -                                 metadata=res_json['metadata'])
++
 +            res = newAnalyzerResult()
 +            res.idMetadata = res_json['idMetadata']
 +            res.data = res_json['data']
 +            res.audioMetadata = res_json['audioMetadata']
 +            res.frameMetadata = res_json['frameMetadata']
 +            res.labelMetadata = res_json['labelMetadata']
 +            res.parameters = res_json['parameters']
 +
              results.add_result(res)
          return results