Changeset 11459:fc07a5c346be in orange


Ignore:
Timestamp:
04/17/13 18:30:16 (12 months ago)
Author:
Ales Erjavec <ales.erjavec@…>
Branch:
default
Message:

Fixed checks for passed dataset table argument in new methods.

Use 'instances is not None' idiom and not a boolean test to guard against cases
where the passed dataset length is 0.

Location:
Orange
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • Orange/classification/__init__.py

    r11051 r11459  
    1818    def __new__(cls, data=None, **kwds): 
    1919        learner = object.__new__(cls) 
    20         if data: 
     20        if data is not None: 
    2121            learner.__init__(**kwds) # force init 
    2222            return learner(data) 
  • Orange/classification/bayes.py

    r10580 r11459  
    4545    """ 
    4646     
    47     def __new__(cls, data = None, weight_id = 0, **argkw): 
     47    def __new__(cls, data=None, weight_id=0, **argkw): 
    4848        self = Orange.classification.Learner.__new__(cls, **argkw) 
    49         if data: 
     49        if data is not None: 
    5050            self.__init__(**argkw) 
    5151            return self.__call__(data, weight_id) 
  • Orange/classification/logreg.py

    r11398 r11459  
    106106    def __new__(cls, data=None, weight_id=0, **argkw): 
    107107        self = Orange.classification.Learner.__new__(cls, **argkw) 
    108         if data: 
     108        if data is not None: 
    109109            self.__init__(**argkw) 
    110110            return self.__call__(data, weight_id) 
     
    183183    def __new__(cls, data=None, **argkw): 
    184184        self = Orange.classification.Learner.__new__(cls, **argkw) 
    185         if data: 
     185        if data is not None: 
    186186            self.__init__(**argkw) 
    187187            return self.__call__(data) 
     
    221221    def __new__(cls, data=None, weight_id=0, **argkw): 
    222222        self = object.__new__(cls) 
    223         if data: 
     223        if data is not None: 
    224224            self.__init__(**argkw) 
    225225            return self.__call__(data, weight_id) 
     
    893893    def __new__(cls, data=None, **argkw): 
    894894        self = object.__new__(cls) 
    895         if data: 
     895        if data is not None: 
    896896            self.__init__(**argkw) 
    897897            return self.__call__(data) 
  • Orange/classification/tree.py

    r10959 r11459  
    15201520    def __new__(cls, instances=None, weightID=0, **argkw): 
    15211521        self = Orange.classification.Learner.__new__(cls, **cls._rename_dict(argkw)) 
    1522         if instances: 
     1522        if instances is not None: 
    15231523            self.__init__(**argkw) 
    15241524            return self.__call__(instances, weightID) 
     
    18641864    def __new__(cls, data=None, weightID=0, **argkw): 
    18651865        self = Orange.core.Learner.__new__(cls, **argkw) 
    1866         if data: 
     1866        if data is not None: 
    18671867            self.__init__(**argkw) 
    18681868            return self.__call__(data, weightID) 
  • Orange/distance/__init__.py

    r10580 r11459  
    3131        self = DistanceConstructor.__new__(cls, **argkw) 
    3232        self.__dict__.update(argkw) 
    33         if data: 
     33        if data is not None: 
    3434            return self.__call__(data) 
    3535        else: 
     
    7777        self = DistanceConstructor.__new__(cls, **argkw) 
    7878        self.__dict__.update(argkw) 
    79         if data: 
     79        if data is not None: 
    8080            return self.__call__(data) 
    8181        else: 
     
    121121        self = DistanceConstructor.__new__(cls, **argkw) 
    122122        self.__dict__.update(argkw) 
    123         if data: 
     123        if data is not None: 
    124124            return self.__call__(data) 
    125125        else: 
  • Orange/feature/imputation.py

    r10580 r11459  
    1818 
    1919class ImputeLearner(orange.Learner): 
    20     def __new__(cls, data = None, weight_id = 0, **keyw): 
     20    def __new__(cls, data=None, weight_id=0, **keyw): 
    2121        self = orange.Learner.__new__(cls, **keyw) 
    2222        self.dont_impute_classifier = False 
    2323        self.__dict__.update(keyw) 
    24         if data: 
     24        if data is not None: 
    2525            return self.__call__(data, weight_id) 
    2626        else: 
  • Orange/multilabel/br.py

    r10502 r11459  
    6767            self.base_learner = _BayesLearner 
    6868         
    69         if instances: 
     69        if instances is not None: 
    7070            self.__init__(**argkw) 
    7171            return self.__call__(instances, weight_id) 
  • Orange/multilabel/brknn.py

    r10502 r11459  
    8585        self.ext = ext 
    8686         
    87         if instances: 
     87        if instances is not None: 
    8888            self.instances = instances 
    8989            self.__init__(**argkw) 
  • Orange/multilabel/lp.py

    r10502 r11459  
    7676        self = _multibase.MultiLabelLearner.__new__(cls, **argkw) 
    7777         
    78         if instances: 
     78        if instances is not None: 
    7979            self.__init__(**argkw) 
    8080            return self.__call__(instances, base_learner, weight_id) 
  • Orange/multilabel/mlknn.py

    r10502 r11459  
    135135        self.smooth = smooth 
    136136         
    137         if instances: 
     137        if instances is not None: 
    138138            self.__init__(**argkw) 
    139139            return self.__call__(instances,weight_id) 
  • Orange/projection/linear.py

    r10863 r11459  
    11491149    def __new__(cls, freeviz=None, instances=None, weight_id=0, **argkw): 
    11501150        self = classification.Learner.__new__(cls, **argkw) 
    1151         if instances: 
     1151        if instances is not None: 
    11521152            self.__init__(freeviz, **argkw) 
    11531153            return self.__call__(instances, weight_id) 
     
    11761176    def __new__(cls, freeviz=None, instances=None, weight_id=0, **argkw): 
    11771177        self = classification.Learner.__new__(cls, **argkw) 
    1178         if instances: 
     1178        if instances is not None: 
    11791179            self.__init__(freeviz, **argkw) 
    11801180            return self.__call__(instances, weight_id) 
     
    13121312        optimizer = object.__new__(cls) 
    13131313 
    1314         if dataset: 
     1314        if dataset is not None: 
    13151315            optimizer.__init__(**kwds) 
    13161316            return optimizer(dataset) 
     
    16091609    def __new__(cls, dataset=None): 
    16101610        self = object.__new__(cls) 
    1611         if dataset: 
     1611        if dataset is not None: 
    16121612            self.__init__() 
    16131613            return self.__call__(dataset) 
  • Orange/tuning/__init__.py

    r10712 r11459  
    9595    def __new__(cls, data=None, weight_id=0, **argkw): 
    9696        self = Orange.classification.Learner.__new__(cls, **argkw) 
    97         if data: 
     97        if data is not None: 
    9898            for name, value in argkw.items(): 
    9999                setattr(self, name, value) 
     
    346346    def __new__(cls, data=None, weight_id=0, **kwds): 
    347347        self = Orange.classification.Learner.__new__(cls, **kwds) 
    348         if data: 
     348        if data is not None: 
    349349            self.__init__(**kwargs) 
    350350            return self.__call__(data, weight_id) 
     
    443443    def __new__(cls, data=None, weight_id=0, **kwds): 
    444444        self = Orange.classification.Learner.__new__(cls, **kwds) 
    445         if data: 
     445        if data is not None: 
    446446            self.__init__(**kwds) 
    447447            return self.__call__(data, weight_id) 
Note: See TracChangeset for help on using the changeset viewer.