Browse Source

qubes: documentation and licence fixes

Wojtek Porczyk 9 years ago
parent
commit
ee06e7d7a2

+ 2 - 0
doc/qubes-ext.rst

@@ -2,5 +2,7 @@
 =======================================
 =======================================
 
 
 .. automodule:: qubes.ext
 .. automodule:: qubes.ext
+   :members:
+   :show-inheritance:
 
 
 .. vim: ts=3 sw=3 et
 .. vim: ts=3 sw=3 et

+ 50 - 1
doc/qubes-vm/index.rst

@@ -1,6 +1,55 @@
 :py:mod:`qubes.vm` -- Different Virtual Machine types
 :py:mod:`qubes.vm` -- Different Virtual Machine types
 =====================================================
 =====================================================
 
 
-.. automodule:: qubes.vm
+Main public classes
+-------------------
+
+.. autoclass:: qubes.vm.BaseVM
+   :members:
+   :show-inheritance:
+
+Helper classes and functions
+----------------------------
+
+.. autoclass:: qubes.vm.BaseVMMeta
+   :members:
+   :show-inheritance:
+
+.. autoclass:: qubes.vm.DeviceCollection
+   :members:
+   :show-inheritance:
+
+.. autoclass:: qubes.vm.DeviceManager
+   :members:
+   :show-inheritance:
+
+Particular VM classes
+---------------------
+
+Main types:
+
+.. toctree::
+   :maxdepth: 1
+
+   qubesvm
+   appvm
+   templatevm
+
+Special VM types:
+
+.. toctree::
+   :maxdepth: 1
+
+   netvm
+   proxyvm
+   dispvm
+   adminvm
+
+HVMs:
+
+.. toctree::
+   :maxdepth: 1
+
+   hvm
 
 
 .. vim: ts=3 sw=3 et
 .. vim: ts=3 sw=3 et

+ 27 - 4
qubes/__init__.py

@@ -1,14 +1,37 @@
 #!/usr/bin/python2 -O
 #!/usr/bin/python2 -O
-# -*- coding: utf-8 -*-
-
-from __future__ import absolute_import
+# vim: fileencoding=utf-8
+
+#
+# The Qubes OS Project, https://www.qubes-os.org/
+#
+# Copyright (C) 2010-2015  Joanna Rutkowska <joanna@invisiblethingslab.com>
+# Copyright (C) 2011-2015  Marek Marczykowski-Górecki
+#                              <marmarek@invisiblethingslab.com>
+# Copyright (C) 2014-2015  Wojtek Porczyk <woju@invisiblethingslab.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
 
 
 '''
 '''
 Qubes OS
 Qubes OS
 
 
-:copyright: © 2010-2014 Invisible Things Lab
+:copyright: © 2010-2015 Invisible Things Lab
 '''
 '''
 
 
+from __future__ import absolute_import
+
 __author__ = 'Invisible Things Lab'
 __author__ = 'Invisible Things Lab'
 __license__ = 'GPLv2 or later'
 __license__ = 'GPLv2 or later'
 __version__ = 'R3'
 __version__ = 'R3'

+ 3 - 0
qubes/_pluginloader.py

@@ -1,3 +1,6 @@
+#!/usr/bin/python2 -O
+# vim: fileencoding=utf-8
+
 from qubes.vm import *
 from qubes.vm import *
 from qubes.ext import *
 from qubes.ext import *
 
 

+ 13 - 13
qubes/config.py

@@ -1,25 +1,25 @@
-#!/usr/bin/python2
-# -*- coding: utf-8 -*-
+#!/usr/bin/python2 -O
+# vim: fileencoding=utf-8
+
 #
 #
-# The Qubes OS Project, http://www.qubes-os.org
+# The Qubes OS Project, https://www.qubes-os.org/
 #
 #
-# Copyright (C) 2010  Joanna Rutkowska <joanna@invisiblethingslab.com>
-# Copyright (C) 2014  Wojtek Porczyk <woju@invisiblethingslab.com>
+# Copyright (C) 2010-2015  Joanna Rutkowska <joanna@invisiblethingslab.com>
+# Copyright (C) 2014-2015  Wojtek Porczyk <woju@invisiblethingslab.com>
 #
 #
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
 #
 #
 # This program is distributed in the hope that it will be useful,
 # This program is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU General Public License for more details.
 # GNU General Public License for more details.
 #
 #
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 #
 #
 
 
 qubes_base_dir = "/var/lib/qubes"
 qubes_base_dir = "/var/lib/qubes"

+ 23 - 3
qubes/dochelpers.py

@@ -1,11 +1,31 @@
 #!/usr/bin/python2 -O
 #!/usr/bin/python2 -O
-# -*- coding: utf-8 -*-
+# vim: fileencoding=utf-8
 
 
-'''Documentation helpers
+#
+# The Qubes OS Project, https://www.qubes-os.org/
+#
+# Copyright (C) 2010-2015  Joanna Rutkowska <joanna@invisiblethingslab.com>
+# Copyright (C) 2014-2015  Wojtek Porczyk <woju@invisiblethingslab.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+
+'''Documentation helpers.
 
 
 This module contains classes and functions which help to maintain documentation,
 This module contains classes and functions which help to maintain documentation,
 particularly our custom Sphinx extension.
 particularly our custom Sphinx extension.
-
 '''
 '''
 
 
 import csv
 import csv

+ 24 - 3
qubes/events.py

@@ -1,10 +1,31 @@
 #!/usr/bin/python2 -O
 #!/usr/bin/python2 -O
+# vim: fileencoding=utf-8
+
+#
+# The Qubes OS Project, https://www.qubes-os.org/
+#
+# Copyright (C) 2014-2015  Joanna Rutkowska <joanna@invisiblethingslab.com>
+# Copyright (C) 2014-2015  Wojtek Porczyk <woju@invisiblethingslab.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
 
 
 '''Qubes events.
 '''Qubes events.
 
 
 Events are fired when something happens, like VM start or stop, property change
 Events are fired when something happens, like VM start or stop, property change
 etc.
 etc.
-
 '''
 '''
 
 
 import collections
 import collections
@@ -71,7 +92,7 @@ class EmitterMeta(type):
 
 
 
 
 class Emitter(object):
 class Emitter(object):
-    '''Subject that can emit events
+    '''Subject that can emit events.
     '''
     '''
 
 
     __metaclass__ = EmitterMeta
     __metaclass__ = EmitterMeta
@@ -83,7 +104,7 @@ class Emitter(object):
 
 
     @classmethod
     @classmethod
     def add_handler(cls, event, handler):
     def add_handler(cls, event, handler):
-        '''Add event handler to subject's class
+        '''Add event handler to subject's class.
 
 
         :param str event: event identificator
         :param str event: event identificator
         :param collections.Callable handler: handler callable
         :param collections.Callable handler: handler callable

+ 27 - 13
qubes/ext/__init__.py

@@ -1,19 +1,32 @@
 #!/usr/bin/python2 -O
 #!/usr/bin/python2 -O
-
-'''Qubes extensions
+# vim: fileencoding=utf-8
+
+#
+# The Qubes OS Project, https://www.qubes-os.org/
+#
+# Copyright (C) 2014-2015  Joanna Rutkowska <joanna@invisiblethingslab.com>
+# Copyright (C) 2014-2015  Wojtek Porczyk <woju@invisiblethingslab.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+
+'''Qubes extensions.
 
 
 Extensions provide additional features (like application menus) found only on
 Extensions provide additional features (like application menus) found only on
 some systems. They may be OS- or architecture-dependent or custom-developed for
 some systems. They may be OS- or architecture-dependent or custom-developed for
 particular customer.
 particular customer.
-
-.. autoclass:: Extension
-   :members:
-   :show-inheritance:
-
-.. autoclass:: ExtensionPlugin
-   :members:
-   :show-inheritance:
-
 '''
 '''
 
 
 import inspect
 import inspect
@@ -64,7 +77,7 @@ def handler(*events, **kwargs):
 
 
     .. note::
     .. note::
         This decorator is intended only for extensions! For regular use in the
         This decorator is intended only for extensions! For regular use in the
-        core, see py:func:`qubes.events.handler`.
+        core, see :py:func:`qubes.events.handler`.
 
 
     :param str event: event type
     :param str event: event type
     :param type vm: VM to hook (leave as None to hook all VMs)
     :param type vm: VM to hook (leave as None to hook all VMs)
@@ -87,4 +100,5 @@ def handler(*events, **kwargs):
     return decorator
     return decorator
 
 
 
 
-__all__ = qubes.plugins.load(__file__)
+__all__ = ['Extension', 'ExtensionPlugin', 'handler'] \
+    + qubes.plugins.load(__file__)

+ 24 - 2
qubes/log.py

@@ -1,9 +1,30 @@
 #!/usr/bin/python2 -O
 #!/usr/bin/python2 -O
-# -*- coding: utf-8 -*-
+# vim: fileencoding=utf-8
+
+#
+# The Qubes OS Project, https://www.qubes-os.org/
+#
+# Copyright (C) 2014-2015  Joanna Rutkowska <joanna@invisiblethingslab.com>
+# Copyright (C) 2014-2015  Wojtek Porczyk <woju@invisiblethingslab.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
 
 
 '''Qubes logging routines
 '''Qubes logging routines
 
 
-See also: :py:attr:`qubes.vm.qubesvm.QubesVM.logger`
+See also: :py:attr:`qubes.vm.qubesvm.QubesVM.log`
 '''
 '''
 
 
 import logging
 import logging
@@ -31,6 +52,7 @@ def enable():
     >>> import logging
     >>> import logging
     >>> logging.warning('Foobar')   # doctest: +SKIP
     >>> logging.warning('Foobar')   # doctest: +SKIP
     '''
     '''
+
     if logging.root.handlers:
     if logging.root.handlers:
         return
         return
 
 

+ 22 - 1
qubes/plugins.py

@@ -1,5 +1,26 @@
 #!/usr/bin/python2 -O
 #!/usr/bin/python2 -O
-# -*- coding: utf-8 -*-
+# vim: fileencoding=utf-8
+
+#
+# The Qubes OS Project, https://www.qubes-os.org/
+#
+# Copyright (C) 2014-2015  Joanna Rutkowska <joanna@invisiblethingslab.com>
+# Copyright (C) 2014-2015  Wojtek Porczyk <woju@invisiblethingslab.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
 
 
 '''Plugins helpers for Qubes
 '''Plugins helpers for Qubes
 
 

+ 22 - 0
qubes/rngdoc.py

@@ -1,4 +1,26 @@
 #!/usr/bin/python2 -O
 #!/usr/bin/python2 -O
+# vim: fileencoding=utf-8
+
+#
+# The Qubes OS Project, https://www.qubes-os.org/
+#
+# Copyright (C) 2014-2015  Joanna Rutkowska <joanna@invisiblethingslab.com>
+# Copyright (C) 2014-2015  Wojtek Porczyk <woju@invisiblethingslab.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
 
 
 from __future__ import print_function
 from __future__ import print_function
 
 

+ 14 - 10
qubes/storage/__init__.py

@@ -1,23 +1,27 @@
-#!/usr/bin/python2
+#!/usr/bin/python2 -O
+# vim: fileencoding=utf-8
+
 #
 #
-# The Qubes OS Project, http://www.qubes-os.org
+# The Qubes OS Project, https://www.qubes-os.org/
 #
 #
-# Copyright (C) 2013  Marek Marczykowski <marmarek@invisiblethingslab.com>
+# Copyright (C) 2013-2015  Joanna Rutkowska <joanna@invisiblethingslab.com>
+# Copyright (C) 2013-2015  Marek Marczykowski-Górecki
+#                              <marmarek@invisiblethingslab.com>
 # Copyright (C) 2015  Wojtek Porczyk <woju@invisiblethingslab.com>
 # Copyright (C) 2015  Wojtek Porczyk <woju@invisiblethingslab.com>
 #
 #
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
 #
 #
 # This program is distributed in the hope that it will be useful,
 # This program is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU General Public License for more details.
 # GNU General Public License for more details.
 #
 #
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 #
 #
 
 
 from __future__ import absolute_import
 from __future__ import absolute_import

+ 14 - 11
qubes/storage/xen.py

@@ -1,24 +1,27 @@
-#!/usr/bin/python2
+#!/usr/bin/python2 -O
+# vim: fileencoding=utf-8
+
 #
 #
-# The Qubes OS Project, http://www.qubes-os.org
+# The Qubes OS Project, https://www.qubes-os.org/
 #
 #
-# Copyright (C) 2013  Marek Marczykowski <marmarek@invisiblethingslab.com>
+# Copyright (C) 2015  Joanna Rutkowska <joanna@invisiblethingslab.com>
+# Copyright (C) 2013-2015  Marek Marczykowski-Górecki
+#                              <marmarek@invisiblethingslab.com>
 # Copyright (C) 2015  Wojtek Porczyk <woju@invisiblethingslab.com>
 # Copyright (C) 2015  Wojtek Porczyk <woju@invisiblethingslab.com>
 #
 #
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
 #
 #
 # This program is distributed in the hope that it will be useful,
 # This program is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU General Public License for more details.
 # GNU General Public License for more details.
 #
 #
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 #
 #
 
 
 from __future__ import absolute_import
 from __future__ import absolute_import

+ 23 - 1
qubes/tests/__init__.py

@@ -1,4 +1,26 @@
-#!/usr/bin/python -O
+#!/usr/bin/python2 -O
+# vim: fileencoding=utf-8
+
+#
+# The Qubes OS Project, https://www.qubes-os.org/
+#
+# Copyright (C) 2014-2015  Joanna Rutkowska <joanna@invisiblethingslab.com>
+# Copyright (C) 2014-2015  Wojtek Porczyk <woju@invisiblethingslab.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
 
 
 import collections
 import collections
 import os
 import os

+ 22 - 0
qubes/tests/events.py

@@ -1,4 +1,26 @@
 #!/usr/bin/python2 -O
 #!/usr/bin/python2 -O
+# vim: fileencoding=utf-8
+
+#
+# The Qubes OS Project, https://www.qubes-os.org/
+#
+# Copyright (C) 2014-2015  Joanna Rutkowska <joanna@invisiblethingslab.com>
+# Copyright (C) 2014-2015  Wojtek Porczyk <woju@invisiblethingslab.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
 
 
 import sys
 import sys
 import unittest
 import unittest

+ 22 - 0
qubes/tests/init.py

@@ -1,4 +1,26 @@
 #!/usr/bin/python2 -O
 #!/usr/bin/python2 -O
+# vim: fileencoding=utf-8
+
+#
+# The Qubes OS Project, https://www.qubes-os.org/
+#
+# Copyright (C) 2014-2015  Joanna Rutkowska <joanna@invisiblethingslab.com>
+# Copyright (C) 2014-2015  Wojtek Porczyk <woju@invisiblethingslab.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
 
 
 import os
 import os
 import sys
 import sys

+ 23 - 1
qubes/tests/run.py

@@ -1,4 +1,26 @@
-#!/usr/bin/python -O
+#!/usr/bin/python2 -O
+# vim: fileencoding=utf-8
+
+#
+# The Qubes OS Project, https://www.qubes-os.org/
+#
+# Copyright (C) 2014-2015  Joanna Rutkowska <joanna@invisiblethingslab.com>
+# Copyright (C) 2014-2015  Wojtek Porczyk <woju@invisiblethingslab.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
 
 
 import curses
 import curses
 import importlib
 import importlib

+ 22 - 0
qubes/tests/vm/adminvm.py

@@ -1,4 +1,26 @@
 #!/usr/bin/python2 -O
 #!/usr/bin/python2 -O
+# vim: fileencoding=utf-8
+
+#
+# The Qubes OS Project, https://www.qubes-os.org/
+#
+# Copyright (C) 2014-2015  Joanna Rutkowska <joanna@invisiblethingslab.com>
+# Copyright (C) 2014-2015  Wojtek Porczyk <woju@invisiblethingslab.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
 
 
 import sys
 import sys
 import unittest
 import unittest

+ 22 - 0
qubes/tests/vm/init.py

@@ -1,4 +1,26 @@
 #!/usr/bin/python2 -O
 #!/usr/bin/python2 -O
+# vim: fileencoding=utf-8
+
+#
+# The Qubes OS Project, https://www.qubes-os.org/
+#
+# Copyright (C) 2014-2015  Joanna Rutkowska <joanna@invisiblethingslab.com>
+# Copyright (C) 2014-2015  Wojtek Porczyk <woju@invisiblethingslab.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
 
 
 import sys
 import sys
 import unittest
 import unittest

+ 22 - 0
qubes/tests/vm/qubesvm.py

@@ -1,4 +1,26 @@
 #!/usr/bin/python2 -O
 #!/usr/bin/python2 -O
+# vim: fileencoding=utf-8
+
+#
+# The Qubes OS Project, https://www.qubes-os.org/
+#
+# Copyright (C) 2014-2015  Joanna Rutkowska <joanna@invisiblethingslab.com>
+# Copyright (C) 2014-2015  Wojtek Porczyk <woju@invisiblethingslab.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
 
 
 import sys
 import sys
 import unittest
 import unittest

+ 14 - 12
qubes/utils.py

@@ -1,25 +1,27 @@
 #!/usr/bin/python2 -O
 #!/usr/bin/python2 -O
-# -*- coding: utf-8 -*-
+# vim: fileencoding=utf-8
 
 
-# The Qubes OS Project, http://www.qubes-os.org
 #
 #
-# Copyright (C) 2010  Joanna Rutkowska <joanna@invisiblethingslab.com>
-# Copyright (C) 2013  Marek Marczykowski <marmarek@invisiblethingslab.com>
-# Copyright (C) 2014  Wojtek Porczyk <woju@invisiblethingslab.com>
+# The Qubes OS Project, https://www.qubes-os.org/
 #
 #
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
+# Copyright (C) 2010-2015  Joanna Rutkowska <joanna@invisiblethingslab.com>
+# Copyright (C) 2013-2015  Marek Marczykowski-Górecki
+#                              <marmarek@invisiblethingslab.com>
+# Copyright (C) 2014-2015  Wojtek Porczyk <woju@invisiblethingslab.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
 #
 #
 # This program is distributed in the hope that it will be useful,
 # This program is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU General Public License for more details.
 # GNU General Public License for more details.
 #
 #
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 #
 #
 
 
 
 

+ 10 - 45
qubes/vm/__init__.py

@@ -26,50 +26,6 @@
 
 
 '''Qubes Virtual Machines
 '''Qubes Virtual Machines
 
 
-Main public classes
--------------------
-
-.. autoclass:: BaseVM
-   :members:
-   :show-inheritance:
-
-Helper classes and functions
-----------------------------
-
-.. autoclass:: BaseVMMeta
-   :members:
-   :show-inheritance:
-
-Particular VM classes
----------------------
-
-Main types:
-
-.. toctree::
-   :maxdepth: 1
-
-   qubesvm
-   appvm
-   templatevm
-
-Special VM types:
-
-.. toctree::
-   :maxdepth: 1
-
-   netvm
-   proxyvm
-   dispvm
-   adminvm
-
-HVMs:
-
-.. toctree::
-   :maxdepth: 1
-
-   hvm
-   templatehvm
-
 '''
 '''
 
 
 import ast
 import ast
@@ -181,9 +137,17 @@ class BaseVM(qubes.PropertyHolder):
 
 
     def __init__(self, app, xml, load_stage=2, services={}, devices=None,
     def __init__(self, app, xml, load_stage=2, services={}, devices=None,
             tags={}, *args, **kwargs):
             tags={}, *args, **kwargs):
+        #: mother :py:class:`qubes.Qubes` object
         self.app = app
         self.app = app
+
+        #: dictionary of services that are run on this domain
         self.services = services
         self.services = services
+
+        #: :py:class`DeviceManager` object keeping devices that are attached to
+        #: this domain
         self.devices = DeviceManager(self) if devices is None else devices
         self.devices = DeviceManager(self) if devices is None else devices
+
+        #: user-specified tags
         self.tags = tags
         self.tags = tags
 
 
         self.events_enabled = False
         self.events_enabled = False
@@ -645,4 +609,5 @@ def load(class_, D):
     cls = BaseVM[class_]
     cls = BaseVM[class_]
     return cls(D)
     return cls(D)
 
 
-__all__ = qubes.plugins.load(__file__)
+__all__ = ['BaseVMMeta', 'DeviceCollection', 'DeviceManager', 'BaseVM'] \
+    + qubes.plugins.load(__file__)

+ 24 - 0
qubes/vm/adminvm.py

@@ -1,4 +1,28 @@
 #!/usr/bin/python2 -O
 #!/usr/bin/python2 -O
+# vim: fileencoding=utf-8
+
+#
+# The Qubes OS Project, https://www.qubes-os.org/
+#
+# Copyright (C) 2010-2015  Joanna Rutkowska <joanna@invisiblethingslab.com>
+# Copyright (C) 2013-2015  Marek Marczykowski-Górecki
+#                              <marmarek@invisiblethingslab.com>
+# Copyright (C) 2014-2015  Wojtek Porczyk <woju@invisiblethingslab.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
 
 
 import qubes
 import qubes
 import qubes.vm.qubesvm
 import qubes.vm.qubesvm

+ 1 - 0
qubes/vm/appvm.py

@@ -1,4 +1,5 @@
 #!/usr/bin/python2 -O
 #!/usr/bin/python2 -O
+# vim: fileencoding=utf-8
 
 
 import qubes.vm.qubesvm
 import qubes.vm.qubesvm
 
 

+ 1 - 0
qubes/vm/dispvm.py

@@ -1,4 +1,5 @@
 #!/usr/bin/python2 -O
 #!/usr/bin/python2 -O
+# vim: fileencoding=utf-8
 
 
 import qubes.vm.qubesvm
 import qubes.vm.qubesvm
 
 

+ 1 - 0
qubes/vm/hvm.py

@@ -1,4 +1,5 @@
 #!/usr/bin/python2 -O
 #!/usr/bin/python2 -O
+# vim: fileencoding=utf-8
 
 
 import qubes.vm.qubesvm
 import qubes.vm.qubesvm
 
 

+ 1 - 0
qubes/vm/netvm.py

@@ -1,4 +1,5 @@
 #!/usr/bin/python2 -O
 #!/usr/bin/python2 -O
+# vim: fileencoding=utf-8
 
 
 import qubes.vm.qubesvm
 import qubes.vm.qubesvm
 
 

+ 1 - 0
qubes/vm/proxyvm.py

@@ -1,4 +1,5 @@
 #!/usr/bin/python2 -O
 #!/usr/bin/python2 -O
+# vim: fileencoding=utf-8
 
 
 import qubes.vm.netvm
 import qubes.vm.netvm
 
 

+ 14 - 12
qubes/vm/qubesvm.py

@@ -1,25 +1,27 @@
 #!/usr/bin/python2 -O
 #!/usr/bin/python2 -O
-# -*- coding: utf-8 -*-
+# vim: fileencoding=utf-8
 
 
-# The Qubes OS Project, http://www.qubes-os.org
 #
 #
-# Copyright (C) 2010  Joanna Rutkowska <joanna@invisiblethingslab.com>
-# Copyright (C) 2013  Marek Marczykowski <marmarek@invisiblethingslab.com>
-# Copyright (C) 2014  Wojtek Porczyk <woju@invisiblethingslab.com>
+# The Qubes OS Project, https://www.qubes-os.org/
 #
 #
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
+# Copyright (C) 2010-2015  Joanna Rutkowska <joanna@invisiblethingslab.com>
+# Copyright (C) 2013-2015  Marek Marczykowski-Górecki
+#                              <marmarek@invisiblethingslab.com>
+# Copyright (C) 2014-2015  Wojtek Porczyk <woju@invisiblethingslab.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
 #
 #
 # This program is distributed in the hope that it will be useful,
 # This program is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU General Public License for more details.
 # GNU General Public License for more details.
 #
 #
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 #
 #
 
 
 import datetime
 import datetime

+ 1 - 0
qubes/vm/templatehvm.py

@@ -1,4 +1,5 @@
 #!/usr/bin/python2 -O
 #!/usr/bin/python2 -O
+# vim: fileencoding=utf-8
 
 
 import qubes.vm.hvm
 import qubes.vm.hvm
 
 

+ 1 - 0
qubes/vm/templatevm.py

@@ -1,4 +1,5 @@
 #!/usr/bin/python2 -O
 #!/usr/bin/python2 -O
+# vim: fileencoding=utf-8
 
 
 import qubes
 import qubes
 import qubes.vm.qubesvm
 import qubes.vm.qubesvm