Initial port to python3
[htsworkflow.git] / htsworkflow / frontend / samples / models.py
index 5126bb504eb21f723e5845489c8085fdfbbb35a0..b01b39312c13d543adbe431124a12b729306ec31 100644 (file)
@@ -1,6 +1,6 @@
 import types
 import logging
-import urlparse
+import urllib.parse
 from django.db import models
 from django.contrib.auth.models import User, UserManager
 from django.core import urlresolvers
@@ -27,7 +27,7 @@ class Antibody(models.Model):
     biology = models.TextField(blank=True, null=True)
     notes = models.TextField(blank=True, null=True)
     def __unicode__(self):
-        return u'%s - %s' % (self.antigene, self.antibodies)
+        return '%s - %s' % (self.antigene, self.antibodies)
     class Meta:
         verbose_name_plural = "antibodies"
         ordering = ["antigene"]
@@ -41,7 +41,7 @@ class Cellline(models.Model):
 
     notes = models.TextField(blank=True)
     def __unicode__(self):
-        return unicode(self.cellline_name)
+        return str(self.cellline_name)
 
     class Meta:
         ordering = ["cellline_name"]
@@ -57,7 +57,7 @@ class Condition(models.Model):
     notes = models.TextField(blank=True)
 
     def __unicode__(self):
-        return unicode(self.condition_name)
+        return str(self.condition_name)
 
     class Meta:
         ordering = ["condition_name"]
@@ -67,7 +67,7 @@ class ExperimentType(models.Model):
   name = models.CharField(max_length=50, unique=True)
 
   def __unicode__(self):
-    return unicode(self.name)
+    return str(self.name)
 
 class Tag(models.Model):
   tag_name = models.CharField(max_length=100, db_index=True,blank=False,null=False)
@@ -82,7 +82,7 @@ class Tag(models.Model):
       choices=TAG_CONTEXT, default='Library')
 
   def __unicode__(self):
-    return u'%s' % (self.tag_name)
+    return '%s' % (self.tag_name)
 
   class Meta:
     ordering = ["context","tag_name"]
@@ -96,7 +96,7 @@ class Species(models.Model):
   #use_genome_build = models.CharField(max_length=100, blank=False, null=False)
 
   def __unicode__(self):
-    return u'%s (%s)' % (self.scientific_name, self.common_name)
+    return '%s (%s)' % (self.scientific_name, self.common_name)
 
   class Meta:
     verbose_name_plural = "species"
@@ -114,14 +114,14 @@ class Affiliation(models.Model):
   users.admin_order_field = "username"
 
   def __unicode__(self):
-    str = unicode(self.name)
+    str = str(self.name)
     if self.contact is not None and len(self.contact) > 0:
-      str += u' ('+self.contact+u')'
+      str += ' ('+self.contact+')'
     return str
 
   def Users(self):
       users = self.users.all().order_by('username')
-      return ", ".join([unicode(a) for a in users ])
+      return ", ".join([str(a) for a in users ])
 
   class Meta:
     ordering = ["name","contact"]
@@ -136,7 +136,7 @@ class LibraryType(models.Model):
                     help_text="Does this adapter provide multiplexing?")
 
   def __unicode__(self):
-      return unicode(self.name)
+      return str(self.name)
 
   class Meta:
       ordering = ["-id"]
@@ -203,7 +203,7 @@ class Library(models.Model):
 
   undiluted_concentration = models.DecimalField("Concentration",
       max_digits=5, decimal_places=2, blank=True, null=True,
-      help_text=u"Undiluted concentration (ng/\u00b5l)")
+      help_text="Undiluted concentration (ng/\u00b5l)")
       # note \u00b5 is the micro symbol in unicode
   successful_pM = models.DecimalField(max_digits=9,
                                       decimal_places=1, blank=True, null=True)
@@ -215,11 +215,11 @@ class Library(models.Model):
   bioanalyzer_summary = models.TextField(blank=True,default="")
   bioanalyzer_concentration = models.DecimalField(max_digits=5,
                                 decimal_places=2, blank=True, null=True,
-                                help_text=u"(ng/\u00b5l)")
+                                help_text="(ng/\u00b5l)")
   bioanalyzer_image_url = models.URLField(blank=True,default="")
 
   def __unicode__(self):
-    return u'#%s: %s' % (self.id, self.library_name)
+    return '#%s: %s' % (self.id, self.library_name)
 
   class Meta:
       verbose_name_plural = "libraries"
@@ -273,7 +273,7 @@ class Library(models.Model):
               adapter_type = self.library_type.id,
               multiplex_id = multiplex_id)
           return multiplex.sequence
-      except MultiplexIndex.DoesNotExist, e:
+      except MultiplexIndex.DoesNotExist as e:
           return None
 
   def index_sequence_text(self, seperator=' '):
@@ -281,9 +281,9 @@ class Library(models.Model):
       sequences = self.index_sequences()
       if sequences is None:
           return ""
-      if type(sequences) in types.StringTypes:
+      if type(sequences) in str:
           return sequences
-      multiplex_ids = sequences.keys()
+      multiplex_ids = list(sequences.keys())
       multiplex_ids.sort()
       return seperator.join(( "%s:%s" %(i,sequences[i]) for i in multiplex_ids))
   index_sequence_text.short_description = "Index"
@@ -320,7 +320,7 @@ class Library(models.Model):
     ar = []
     for t in affs:
       ar.append(t.__unicode__())
-    return u'%s' % ( ", ".join(ar))
+    return '%s' % ( ", ".join(ar))
 
   def DataRun(self):
     str ='<a target=_self href="/admin/experiments/datarun/?q='+self.id+'" title="Check All Data Runs for This Specific Library ..." ">Data Run</a>'
@@ -335,7 +335,7 @@ class Library(models.Model):
 
     # Check data sanity
     if res[2] != "OK":
-      return u'<div style="border:solid red 2px">'+res[2]+'</div>'
+      return '<div style="border:solid red 2px">'+res[2]+'</div>'
 
     rc = "%1.2f" % (res[1]/1000000.0)
     # Color Scheme: green is more than 10M, blue is more than 5M, orange is more than 3M and red is less. For RNAseq, all those thresholds should be doubled
@@ -388,7 +388,7 @@ class HTSUser(User):
 
     def __unicode__(self):
         #return unicode(self.username) + u" (" + unicode(self.get_full_name()) + u")"
-        return unicode(self.get_full_name()) + u' (' + unicode(self.username) + ')'
+        return str(self.get_full_name()) + ' (' + str(self.username) + ')'
 
 def HTSUserInsertID(sender, instance, **kwargs):
     """