old_contents: # Imports
  from platforms import PLATFORMS, PLATFORMS_MAP
  
  
  # Possible values to extract from a Git Url
  REQUIRED_ATTRIBUTES = (
      'domain',
      'repo',
  )
  
  
  class GitUrlParsed(object):
      def __init__(self, parsed_info):
          self._parsed = parsed_info
  
          # Set parsed objects as attributes
          for k, v in parsed_info.items():
              setattr(self, k, v)
  
      def _valid_attrs(self):
          return all([
              getattr(self, attr, None)
              for attr in REQUIRED_ATTRIBUTES
          ])
  
      @property
      def valid(self):
          return all([
              self._valid_attrs(),
          ])
  
      @property
      def _platform_obj(self):
          return PLATFORMS_MAP[self.platform]
  
      ##
      # Alias properties
      ##
      @property
      def host(self):
          return self.domain
  
      @property
      def user(self):
          return getattr(self, '_user') or self.owner
  
      ##
      # Format URL to protocol
      ##
      def format(self, protocol):
          return self._platform_obj.FORMATS[protocol] % self._parsed
  
      ##
      # Normalize
      ##
      @property
      def normalized(self):
          return self.format(self.protocol)
  
      ##
      # Rewriting
      ##
      @property
      def url2ssh(self):
          return self.format('ssh')
  
      @property
      def url2http(self):
          return self.format('http')
  
      @property
      def url2https(self):
          return self.format('https')
  
      @property
      def url2git(self):
          return self.format('git')
  
      # All supported Urls for a repo
      @property
      def urls(self):
          return dict(
              (protocol, self.format(protocol))
              for protocol in self._platform_obj.PROTOCOLS
          )
  
      ##
      # Platforms
      ##
      @property
      def github(self):
          return self.platform == 'github'
  
      @property
      def bitbucket(self):
          return self.platform == 'bitbucket'
  
      @property
      def friendcode(self):
          return self.platform == 'friendcode'
  
      @property
      def assembla(self):
          return self.platform == 'assembla'
  
      ##
      # Get data as dict
      ##
      @property
      def data(self):
          return dict(self._parsed)
  
new_contents: # Imports
  from .platforms import PLATFORMS, PLATFORMS_MAP
  
  
  # Possible values to extract from a Git Url
  REQUIRED_ATTRIBUTES = (
      'domain',
      'repo',
  )
  
  
  class GitUrlParsed(object):
      def __init__(self, parsed_info):
          self._parsed = parsed_info
  
          # Set parsed objects as attributes
          for k, v in parsed_info.items():
              setattr(self, k, v)
  
      def _valid_attrs(self):
          return all([
              getattr(self, attr, None)
              for attr in REQUIRED_ATTRIBUTES
          ])
  
      @property
      def valid(self):
          return all([
              self._valid_attrs(),
          ])
  
      @property
      def _platform_obj(self):
          return PLATFORMS_MAP[self.platform]
  
      ##
      # Alias properties
      ##
      @property
      def host(self):
          return self.domain
  
      @property
      def user(self):
          return getattr(self, '_user') or self.owner
  
      ##
      # Format URL to protocol
      ##
      def format(self, protocol):
          return self._platform_obj.FORMATS[protocol] % self._parsed
  
      ##
      # Normalize
      ##
      @property
      def normalized(self):
          return self.format(self.protocol)
  
      ##
      # Rewriting
      ##
      @property
      def url2ssh(self):
          return self.format('ssh')
  
      @property
      def url2http(self):
          return self.format('http')
  
      @property
      def url2https(self):
          return self.format('https')
  
      @property
      def url2git(self):
          return self.format('git')
  
      # All supported Urls for a repo
      @property
      def urls(self):
          return dict(
              (protocol, self.format(protocol))
              for protocol in self._platform_obj.PROTOCOLS
          )
  
      ##
      # Platforms
      ##
      @property
      def github(self):
          return self.platform == 'github'
  
      @property
      def bitbucket(self):
          return self.platform == 'bitbucket'
  
      @property
      def friendcode(self):
          return self.platform == 'friendcode'
  
      @property
      def assembla(self):
          return self.platform == 'assembla'
  
      ##
      # Get data as dict
      ##
      @property
      def data(self):
          return dict(self._parsed)
  
subject: Use relative import of .platforms, fixes #1