Changeset 4c5681f in osmose-backend


Ignore:
Timestamp:
Nov 10, 2014 3:52:53 PM (5 years ago)
Author:
Jocelyn Jaubert <jocelyn.jaubert@…>
Branches:
master
Children:
48057aa
Parents:
f6caa99
git-author:
Jocelyn Jaubert <jocelyn.jaubert@…> (10/11/2014 15:24:19)
git-committer:
Jocelyn Jaubert <jocelyn.jaubert@…> (10/11/2014 15:52:53)
Message:

Make it possible for plugins to return error with a dict instead of a tuple

Files:
2 edited

Legend:

Unmodified
Added
Removed
  • analysers/analyser_sax.py

    r9862e1a r4c5681f  
    151151            for e in err: 
    152152                try: 
    153                     fix = e[2].get("fix") 
    154                     if e[2].get("fix"): 
    155                         del(e[2]["fix"]) 
     153                    if isinstance(e, tuple): 
     154                        classs = e[0] 
     155                        subclass = e[1] 
     156                        text = e[2] 
     157                        fix = e[2].get("fix") 
     158                        if e[2].get("fix"): 
     159                            del e[2]["fix"] 
     160                    else: 
     161                        classs = e["class"] 
     162                        subclass = e["subclass"] 
     163                        text = e.get("text", {}) 
     164                        fix = e.get("fix") 
     165 
    156166                    self.error_file.error( 
    157                         e[0], 
    158                         e[1], 
    159                         e[2], 
     167                        classs, 
     168                        subclass, 
     169                        text, 
    160170                        [data["id"]], 
    161171                        ["node"], 
     
    202212            for e in err: 
    203213                try: 
    204                     fix = e[2].get("fix") 
    205                     if e[2].get("fix"): 
    206                         del(e[2]["fix"]) 
     214                    if isinstance(e, tuple): 
     215                        classs = e[0] 
     216                        subclass = e[1] 
     217                        text = e[2] 
     218                        fix = e[2].get("fix") 
     219                        if e[2].get("fix"): 
     220                            del e[2]["fix"] 
     221                    else: 
     222                        classs = e["class"] 
     223                        subclass = e["subclass"] 
     224                        text = e.get("text", {}) 
     225                        fix = e.get("fix") 
     226 
    207227                    self.error_file.error( 
    208                         e[0], 
    209                         e[1], 
    210                         e[2], 
     228                        classs, 
     229                        subclass, 
     230                        text, 
    211231                        [data["id"]], 
    212232                        ["way"], 
     
    272292            for e in err: 
    273293                try: 
    274                     fix = e[2].get("fix") 
    275                     if e[2].get("fix"): 
    276                         del(e[2]["fix"]) 
     294                    if isinstance(e, tuple): 
     295                        classs = e[0] 
     296                        subclass = e[1] 
     297                        text = e[2] 
     298                        fix = e[2].get("fix") 
     299                        if e[2].get("fix"): 
     300                            del e[2]["fix"] 
     301                    else: 
     302                        classs = e["class"] 
     303                        subclass = e["subclass"] 
     304                        text = e.get("text", {}) 
     305                        fix = e.get("fix") 
     306 
    277307                    self.error_file.error( 
    278                         e[0], 
    279                         e[1], 
    280                         e[2], 
     308                        classs, 
     309                        subclass, 
     310                        text, 
    281311                        [data["id"]], 
    282312                        ["relation"], 
  • plugins/Plugin.py

    rb403591 r4c5681f  
    130130        assert errors, log 
    131131        for error in errors: 
    132             assert isinstance(error[0], int), error[0] 
    133             assert isinstance(error[1], int), error[1] 
    134             assert isinstance(error[2], dict), error[2] 
    135             self.check_dict(error[2], log) 
     132            if isinstance(error, tuple): 
     133                assert isinstance(error[0], int), error[0] 
     134                assert isinstance(error[1], int), error[1] 
     135                assert isinstance(error[2], dict), error[2] 
     136                self.check_dict(error[2], log) 
     137            else: 
     138                assert "class" in error, error 
     139                assert "subclass" in error, error 
     140                if "text" in error: 
     141                    self.check_dict(error["text"], log) 
     142                if "fix" in error: 
     143                    self.check_array([error["fix"]], log) 
     144                for k in error.keys(): 
     145                    if k not in ("class", "subclass", "text", "fix"): 
     146                        assert False, "key '%s' is not accepted in error: %s" % (k, error) 
    136147 
    137148    def check_dict(self, d, log): 
Note: See TracChangeset for help on using the changeset viewer.