summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormathieui <mathieui@mathieui.net>2016-06-30 23:36:25 +0200
committermathieui <mathieui@mathieui.net>2016-06-30 23:36:25 +0200
commit8f7be37a700aa78f1906e155f79356fcd7e4b260 (patch)
tree8cd5da2325934544c51e2b08b764a39f79f212ed
parent945035fc18765349563574103951d1aa403fa987 (diff)
downloadpoezio-8f7be37a700aa78f1906e155f79356fcd7e4b260.tar.gz
poezio-8f7be37a700aa78f1906e155f79356fcd7e4b260.tar.bz2
poezio-8f7be37a700aa78f1906e155f79356fcd7e4b260.tar.xz
poezio-8f7be37a700aa78f1906e155f79356fcd7e4b260.zip
Absolute imports everywhere
-rw-r--r--poezio/bookmarks.py4
-rw-r--r--poezio/common.py2
-rw-r--r--poezio/config.py4
-rw-r--r--poezio/connection.py8
-rw-r--r--poezio/contact.py2
-rw-r--r--poezio/core/__init__.py5
-rw-r--r--poezio/core/commands.py2
-rw-r--r--poezio/core/completions.py2
-rw-r--r--poezio/core/core.py8
-rw-r--r--poezio/core/handlers.py2
-rw-r--r--poezio/decorators.py2
-rw-r--r--poezio/logger.py10
-rw-r--r--poezio/multiuserchat.py2
-rw-r--r--poezio/plugin.py4
-rw-r--r--poezio/plugin_manager.py10
-rw-r--r--poezio/poezio.py14
-rw-r--r--poezio/roster.py8
-rw-r--r--poezio/tabs/__init__.py24
-rw-r--r--poezio/tabs/adhoc_commands_list.py2
-rw-r--r--poezio/tabs/conversationtab.py2
-rw-r--r--poezio/tabs/listtab.py2
-rw-r--r--poezio/tabs/muclisttab.py2
-rw-r--r--poezio/tabs/muctab.py2
-rw-r--r--poezio/tabs/privatetab.py2
-rw-r--r--poezio/tabs/rostertab.py5
-rw-r--r--poezio/tabs/xmltab.py2
-rw-r--r--poezio/text_buffer.py4
-rw-r--r--poezio/user.py4
-rw-r--r--poezio/windows/__init__.py24
-rw-r--r--poezio/windows/bookmark_forms.py6
-rw-r--r--poezio/windows/data_forms.py4
-rw-r--r--poezio/windows/funcs.py2
-rw-r--r--poezio/windows/info_bar.py2
-rw-r--r--poezio/windows/info_wins.py4
-rw-r--r--poezio/windows/input_placeholders.py2
-rw-r--r--poezio/windows/inputs.py6
-rw-r--r--poezio/windows/list.py2
-rw-r--r--poezio/windows/misc.py2
-rw-r--r--poezio/windows/muc.py2
-rw-r--r--poezio/windows/roster_win.py2
-rw-r--r--poezio/windows/text_win.py6
41 files changed, 103 insertions, 101 deletions
diff --git a/poezio/bookmarks.py b/poezio/bookmarks.py
index 749705e7..81d006b7 100644
--- a/poezio/bookmarks.py
+++ b/poezio/bookmarks.py
@@ -33,8 +33,8 @@ import logging
from slixmpp.plugins.xep_0048 import Bookmarks, Conference, URL
from slixmpp import JID
-from . common import safeJID
-from . config import config
+from poezio.common import safeJID
+from poezio.config import config
log = logging.getLogger(__name__)
diff --git a/poezio/common.py b/poezio/common.py
index 89814b8e..85bbdffe 100644
--- a/poezio/common.py
+++ b/poezio/common.py
@@ -11,7 +11,7 @@ Various useful functions.
from datetime import datetime, timedelta
from slixmpp import JID, InvalidJID
-from . poezio_shlex import shlex
+from poezio.poezio_shlex import shlex
import base64
import os
diff --git a/poezio/config.py b/poezio/config.py
index 650202e5..85fc5750 100644
--- a/poezio/config.py
+++ b/poezio/config.py
@@ -21,7 +21,7 @@ import pkg_resources
from configparser import RawConfigParser, NoOptionError, NoSectionError
from os import environ, makedirs, path, remove
from shutil import copy2
-from . args import parse_args
+from poezio.args import parse_args
DEFAULT_CONFIG = {
'Poezio': {
@@ -642,7 +642,7 @@ def setup_logging():
def post_logging_setup():
# common imports slixmpp, which creates then its loggers, so
# it needs to be after logger configuration
- from . common import safeJID as JID
+ from poezio.common import safeJID as JID
global safeJID
safeJID = JID
diff --git a/poezio/connection.py b/poezio/connection.py
index 460acd73..7c39008b 100644
--- a/poezio/connection.py
+++ b/poezio/connection.py
@@ -20,10 +20,10 @@ import sys
import slixmpp
from slixmpp.plugins.xep_0184 import XEP_0184
-from . import common
-from . import fixes
-from . common import safeJID
-from . config import config, options
+from poezio import common
+from poezio import fixes
+from poezio.common import safeJID
+from poezio.config import config, options
class Connection(slixmpp.ClientXMPP):
"""
diff --git a/poezio/contact.py b/poezio/contact.py
index 7a6d231a..883c607a 100644
--- a/poezio/contact.py
+++ b/poezio/contact.py
@@ -13,7 +13,7 @@ the roster.
import logging
log = logging.getLogger(__name__)
-from . common import safeJID
+from poezio.common import safeJID
from collections import defaultdict
class Resource(object):
diff --git a/poezio/core/__init__.py b/poezio/core/__init__.py
index fd3d0283..0c6d63d9 100644
--- a/poezio/core/__init__.py
+++ b/poezio/core/__init__.py
@@ -1,7 +1,8 @@
"""
Core class, split into smaller chunks
"""
+__all__ = ['Core', 'Command', 'Status']
-from . core import Core
-from . structs import Command, Status
+from poezio.core.core import Core
+from poezio.core.structs import Command, Status
diff --git a/poezio/core/commands.py b/poezio/core/commands.py
index 7692d115..40f0182b 100644
--- a/poezio/core/commands.py
+++ b/poezio/core/commands.py
@@ -27,7 +27,7 @@ from poezio.roster import roster
from poezio.theming import dump_tuple, get_theme
from poezio.decorators import command_args_parser
-from . structs import Command, POSSIBLE_SHOW
+from poezio.core.structs import Command, POSSIBLE_SHOW
class CommandCore:
diff --git a/poezio/core/completions.py b/poezio/core/completions.py
index a1ac1801..7ee4a8a6 100644
--- a/poezio/core/completions.py
+++ b/poezio/core/completions.py
@@ -15,7 +15,7 @@ from poezio.common import safeJID
from poezio.config import config
from poezio.roster import roster
-from . structs import POSSIBLE_SHOW
+from poezio.core.structs import POSSIBLE_SHOW
class CompletionCore:
diff --git a/poezio/core/core.py b/poezio/core/core.py
index 589bd2c7..b8c4f5cf 100644
--- a/poezio/core/core.py
+++ b/poezio/core/core.py
@@ -43,10 +43,10 @@ from poezio.text_buffer import TextBuffer
from poezio.theming import get_theme
from poezio import keyboard
-from . completions import CompletionCore
-from . commands import CommandCore
-from . handlers import HandlerCore
-from . structs import POSSIBLE_SHOW, DEPRECATED_ERRORS, \
+from poezio.core.completions import CompletionCore
+from poezio.core.commands import CommandCore
+from poezio.core.handlers import HandlerCore
+from poezio.core.structs import POSSIBLE_SHOW, DEPRECATED_ERRORS, \
ERROR_AND_STATUS_CODES, Command, Status
diff --git a/poezio/core/handlers.py b/poezio/core/handlers.py
index 373b7b8c..70c2e59c 100644
--- a/poezio/core/handlers.py
+++ b/poezio/core/handlers.py
@@ -34,7 +34,7 @@ from poezio.roster import roster
from poezio.text_buffer import CorrectionError, AckError
from poezio.theming import dump_tuple, get_theme
-from . commands import dumb_callback
+from poezio.core.commands import dumb_callback
try:
from pygments import highlight
diff --git a/poezio/decorators.py b/poezio/decorators.py
index e72ffe80..344fe9ac 100644
--- a/poezio/decorators.py
+++ b/poezio/decorators.py
@@ -2,7 +2,7 @@
Module containing various decorators
"""
-from . import common
+from poezio import common
class RefreshWrapper(object):
def __init__(self):
diff --git a/poezio/logger.py b/poezio/logger.py
index fba30df7..d21e9424 100644
--- a/poezio/logger.py
+++ b/poezio/logger.py
@@ -16,16 +16,16 @@ import re
from os import makedirs
from datetime import datetime
-from . import common
-from . config import config
-from . xhtml import clean_text
-from . theming import dump_tuple, get_theme
+from poezio import common
+from poezio.config import config
+from poezio.xhtml import clean_text
+from poezio.theming import dump_tuple, get_theme
import logging
log = logging.getLogger(__name__)
-from . config import LOG_DIR as log_dir
+from poezio.config import LOG_DIR as log_dir
message_log_re = re.compile(r'MR (\d{4})(\d{2})(\d{2})T'
r'(\d{2}):(\d{2}):(\d{2})Z '
diff --git a/poezio/multiuserchat.py b/poezio/multiuserchat.py
index fc57cccb..9f231b2f 100644
--- a/poezio/multiuserchat.py
+++ b/poezio/multiuserchat.py
@@ -13,7 +13,7 @@ slix plugin
from xml.etree import cElementTree as ET
-from . common import safeJID
+from poezio.common import safeJID
import logging
log = logging.getLogger(__name__)
diff --git a/poezio/plugin.py b/poezio/plugin.py
index df2fa6ee..59e4f490 100644
--- a/poezio/plugin.py
+++ b/poezio/plugin.py
@@ -6,8 +6,8 @@ These are used in the plugin system added in poezio 0.7.5
import os
from functools import partial
from configparser import RawConfigParser
-from . timed_events import TimedEvent, DelayedEvent
-from . import config
+from poezio.timed_events import TimedEvent, DelayedEvent
+from poezio import config
import inspect
import traceback
import logging
diff --git a/poezio/plugin_manager.py b/poezio/plugin_manager.py
index ee587816..30fb45d2 100644
--- a/poezio/plugin_manager.py
+++ b/poezio/plugin_manager.py
@@ -9,10 +9,10 @@ import os
from os import path
import logging
-from . import core
-from . import tabs
-from . plugin import PluginAPI
-from . config import config
+from poezio import core
+from poezio import tabs
+from poezio.plugin import PluginAPI
+from poezio.config import config
log = logging.getLogger(__name__)
@@ -375,7 +375,7 @@ class PluginManager(object):
self.load_path.append(self.plugins_dir)
try:
- from . import poezio_plugins
+ from poezio import poezio_plugins
except:
pass
else:
diff --git a/poezio/poezio.py b/poezio/poezio.py
index c0ec64e0..f136785e 100644
--- a/poezio/poezio.py
+++ b/poezio/poezio.py
@@ -17,7 +17,7 @@ import logging
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
-from . singleton import Singleton
+from poezio.singleton import Singleton
def test_curses():
"""
@@ -48,7 +48,7 @@ def main():
"""
sys.stdout.write("\x1b]0;poezio\x07")
sys.stdout.flush()
- from . import config
+ from poezio import config
config_path = config.check_create_config_dir()
config.run_cmdline_args(config_path)
config.create_global_config()
@@ -57,22 +57,22 @@ def main():
config.setup_logging()
config.post_logging_setup()
- from . config import options
+ from poezio.config import options
if options.check_config:
config.check_config()
sys.exit(0)
- from . import theming
+ from poezio import theming
theming.update_themes_dir()
- from . import logger
+ from poezio import logger
logger.create_logger()
- from . import roster
+ from poezio import roster
roster.create_roster()
- from . import core
+ from poezio import core
log = logging.getLogger('')
diff --git a/poezio/roster.py b/poezio/roster.py
index 17a55a2a..15b3b01c 100644
--- a/poezio/roster.py
+++ b/poezio/roster.py
@@ -12,13 +12,13 @@ Defines the Roster and RosterGroup classes
import logging
log = logging.getLogger(__name__)
-from . config import config
-from . contact import Contact
-from . roster_sorting import SORTING_METHODS, GROUP_SORTING_METHODS
+from poezio.config import config
+from poezio.contact import Contact
+from poezio.roster_sorting import SORTING_METHODS, GROUP_SORTING_METHODS
from os import path as p
from datetime import datetime
-from . common import safeJID
+from poezio.common import safeJID
from slixmpp.exceptions import IqError, IqTimeout
diff --git a/poezio/tabs/__init__.py b/poezio/tabs/__init__.py
index d0a881a6..4347e505 100644
--- a/poezio/tabs/__init__.py
+++ b/poezio/tabs/__init__.py
@@ -1,13 +1,13 @@
-from . basetabs import Tab, ChatTab, GapTab, OneToOneTab
-from . basetabs import STATE_PRIORITY
-from . rostertab import RosterInfoTab
-from . muctab import MucTab, NS_MUC_USER
-from . privatetab import PrivateTab
-from . conversationtab import ConversationTab, StaticConversationTab,\
+from poezio.tabs.basetabs import Tab, ChatTab, GapTab, OneToOneTab
+from poezio.tabs.basetabs import STATE_PRIORITY
+from poezio.tabs.rostertab import RosterInfoTab
+from poezio.tabs.muctab import MucTab, NS_MUC_USER
+from poezio.tabs.privatetab import PrivateTab
+from poezio.tabs.conversationtab import ConversationTab, StaticConversationTab,\
DynamicConversationTab
-from . xmltab import XMLTab
-from . listtab import ListTab
-from . muclisttab import MucListTab
-from . adhoc_commands_list import AdhocCommandsListTab
-from . data_forms import DataFormsTab
-from . bookmarkstab import BookmarksTab
+from poezio.tabs.xmltab import XMLTab
+from poezio.tabs.listtab import ListTab
+from poezio.tabs.muclisttab import MucListTab
+from poezio.tabs.adhoc_commands_list import AdhocCommandsListTab
+from poezio.tabs.data_forms import DataFormsTab
+from poezio.tabs.bookmarkstab import BookmarksTab
diff --git a/poezio/tabs/adhoc_commands_list.py b/poezio/tabs/adhoc_commands_list.py
index 66f0691a..4d396d84 100644
--- a/poezio/tabs/adhoc_commands_list.py
+++ b/poezio/tabs/adhoc_commands_list.py
@@ -7,7 +7,7 @@ nothing.
import logging
log = logging.getLogger(__name__)
-from . import ListTab
+from poezio.tabs import ListTab
from slixmpp.plugins.xep_0030.stanza.items import DiscoItem
diff --git a/poezio/tabs/conversationtab.py b/poezio/tabs/conversationtab.py
index 95c69827..686e2d5c 100644
--- a/poezio/tabs/conversationtab.py
+++ b/poezio/tabs/conversationtab.py
@@ -16,7 +16,7 @@ log = logging.getLogger(__name__)
import curses
-from . basetabs import OneToOneTab, Tab
+from poezio.tabs.basetabs import OneToOneTab, Tab
from poezio import common
from poezio import fixes
diff --git a/poezio/tabs/listtab.py b/poezio/tabs/listtab.py
index 8461f440..3e290aee 100644
--- a/poezio/tabs/listtab.py
+++ b/poezio/tabs/listtab.py
@@ -14,7 +14,7 @@ from poezio import windows
from poezio.common import safeJID
from poezio.decorators import refresh_wrapper
-from . import Tab
+from poezio.tabs import Tab
class ListTab(Tab):
diff --git a/poezio/tabs/muclisttab.py b/poezio/tabs/muclisttab.py
index 0013fc9a..ec60d245 100644
--- a/poezio/tabs/muclisttab.py
+++ b/poezio/tabs/muclisttab.py
@@ -7,7 +7,7 @@ user to join the rooms.
import logging
log = logging.getLogger(__name__)
-from . import ListTab
+from poezio.tabs import ListTab
from slixmpp.plugins.xep_0030.stanza.items import DiscoItem
diff --git a/poezio/tabs/muctab.py b/poezio/tabs/muctab.py
index f56f4f62..b55c1141 100644
--- a/poezio/tabs/muctab.py
+++ b/poezio/tabs/muctab.py
@@ -17,7 +17,7 @@ import random
import re
from datetime import datetime
-from . import ChatTab, Tab
+from poezio.tabs import ChatTab, Tab
from poezio import common
from poezio import fixes
diff --git a/poezio/tabs/privatetab.py b/poezio/tabs/privatetab.py
index ec443888..8dc1b18e 100644
--- a/poezio/tabs/privatetab.py
+++ b/poezio/tabs/privatetab.py
@@ -15,7 +15,7 @@ log = logging.getLogger(__name__)
import curses
-from . import OneToOneTab, MucTab, Tab
+from poezio.tabs import OneToOneTab, MucTab, Tab
from poezio import fixes
from poezio import windows
diff --git a/poezio/tabs/rostertab.py b/poezio/tabs/rostertab.py
index f4681c5b..c5475bee 100644
--- a/poezio/tabs/rostertab.py
+++ b/poezio/tabs/rostertab.py
@@ -16,8 +16,6 @@ import ssl
from os import getenv, path
from functools import partial
-from . import Tab
-
from poezio import common
from poezio import windows
from poezio.common import safeJID
@@ -28,6 +26,9 @@ from poezio.roster import RosterGroup, roster
from poezio.theming import get_theme, dump_tuple
from poezio.decorators import command_args_parser
+from poezio.tabs import Tab
+
+
class RosterInfoTab(Tab):
"""
A tab, splitted in two, containing the roster and infos
diff --git a/poezio/tabs/xmltab.py b/poezio/tabs/xmltab.py
index 8a866d2a..e6faed4d 100644
--- a/poezio/tabs/xmltab.py
+++ b/poezio/tabs/xmltab.py
@@ -15,7 +15,7 @@ from slixmpp.xmlstream.tostring import tostring
from slixmpp.xmlstream.stanzabase import ElementBase
from xml.etree import ElementTree as ET
-from . import Tab
+from poezio.tabs import Tab
from poezio import text_buffer
from poezio import windows
diff --git a/poezio/text_buffer.py b/poezio/text_buffer.py
index 56832270..c459e5f3 100644
--- a/poezio/text_buffer.py
+++ b/poezio/text_buffer.py
@@ -12,8 +12,8 @@ import logging
log = logging.getLogger(__name__)
from datetime import datetime
-from . config import config
-from . theming import get_theme, dump_tuple
+from poezio.config import config
+from poezio.theming import get_theme, dump_tuple
class Message:
__slots__ = ('txt', 'nick_color', 'time', 'str_time', 'nickname', 'user',
diff --git a/poezio/user.py b/poezio/user.py
index 5509ec8a..f32f1fc9 100644
--- a/poezio/user.py
+++ b/poezio/user.py
@@ -13,9 +13,9 @@ An user is a MUC participant, not a roster contact (see contact.py)
from random import choice
from datetime import timedelta, datetime
from hashlib import md5
-from . import xhtml
+from poezio import xhtml
-from . theming import get_theme
+from poezio.theming import get_theme
import logging
log = logging.getLogger(__name__)
diff --git a/poezio/windows/__init__.py b/poezio/windows/__init__.py
index 5ec73961..463c27e1 100644
--- a/poezio/windows/__init__.py
+++ b/poezio/windows/__init__.py
@@ -3,18 +3,18 @@ Module exporting all the Windows, which are wrappers around curses wins
used to display information on the screen
"""
-from . base_wins import Win
-from . data_forms import FormWin
-from . bookmark_forms import BookmarksWin
-from . info_bar import GlobalInfoBar, VerticalGlobalInfoBar
-from . info_wins import InfoWin, XMLInfoWin, PrivateInfoWin, MucListInfoWin, \
+from poezio.windows.base_wins import Win
+from poezio.windows.data_forms import FormWin
+from poezio.windows.bookmark_forms import BookmarksWin
+from poezio.windows.info_bar import GlobalInfoBar, VerticalGlobalInfoBar
+from poezio.windows.info_wins import InfoWin, XMLInfoWin, PrivateInfoWin, MucListInfoWin, \
ConversationInfoWin, DynamicConversationInfoWin, MucInfoWin, \
ConversationStatusMessageWin, BookmarksInfoWin
-from . input_placeholders import HelpText, YesNoInput
-from . inputs import Input, HistoryInput, MessageInput, CommandInput
-from . list import ListWin, ColumnHeaderWin
-from . misc import VerticalSeparator
-from . muc import UserList, Topic
-from . roster_win import RosterWin, ContactInfoWin
-from . text_win import TextWin, XMLTextWin
+from poezio.windows.input_placeholders import HelpText, YesNoInput
+from poezio.windows.inputs import Input, HistoryInput, MessageInput, CommandInput
+from poezio.windows.list import ListWin, ColumnHeaderWin
+from poezio.windows.misc import VerticalSeparator
+from poezio.windows.muc import UserList, Topic
+from poezio.windows.roster_win import RosterWin, ContactInfoWin
+from poezio.windows.text_win import TextWin, XMLTextWin
diff --git a/poezio/windows/bookmark_forms.py b/poezio/windows/bookmark_forms.py
index bef4b247..7aaee65a 100644
--- a/poezio/windows/bookmark_forms.py
+++ b/poezio/windows/bookmark_forms.py
@@ -3,9 +3,9 @@ Windows used inthe bookmarkstab
"""
import curses
-from . import Win
-from . inputs import Input
-from . data_forms import FieldInput
+from poezio.windows import Win
+from poezio.windows.inputs import Input
+from poezio.windows.data_forms import FieldInput
from poezio.theming import to_curses_attr, get_theme
from poezio.common import safeJID
diff --git a/poezio/windows/data_forms.py b/poezio/windows/data_forms.py
index 5b70cedc..8c4e9a7c 100644
--- a/poezio/windows/data_forms.py
+++ b/poezio/windows/data_forms.py
@@ -6,8 +6,8 @@ does not inherit from the Win base class), as it will create the
others when needed.
"""
-from . import Win
-from . inputs import Input
+from poezio.windows import Win
+from poezio.windows.inputs import Input
from poezio.theming import to_curses_attr, get_theme
diff --git a/poezio/windows/funcs.py b/poezio/windows/funcs.py
index 8fbeafe2..949a46cd 100644
--- a/poezio/windows/funcs.py
+++ b/poezio/windows/funcs.py
@@ -4,7 +4,7 @@ Standalone functions used by the modules
import string
-from . base_wins import FORMAT_CHAR, format_chars
+from poezio.windows.base_wins import FORMAT_CHAR, format_chars
def find_first_format_char(text, chars=None):
if chars is None:
diff --git a/poezio/windows/info_bar.py b/poezio/windows/info_bar.py
index dbaabdc0..ed9dc385 100644
--- a/poezio/windows/info_bar.py
+++ b/poezio/windows/info_bar.py
@@ -12,7 +12,7 @@ import curses
from poezio.config import config
-from . import Win
+from poezio.windows import Win
from poezio.theming import get_theme, to_curses_attr
class GlobalInfoBar(Win):
diff --git a/poezio/windows/info_wins.py b/poezio/windows/info_wins.py
index 6a8c9d64..938128ed 100644
--- a/poezio/windows/info_wins.py
+++ b/poezio/windows/info_wins.py
@@ -9,8 +9,8 @@ log = logging.getLogger(__name__)
from poezio.common import safeJID
from poezio.config import config
-from . import Win
-from . funcs import truncate_nick
+from poezio.windows import Win
+from poezio.windows.funcs import truncate_nick
from poezio.theming import get_theme, to_curses_attr
class InfoWin(Win):
diff --git a/poezio/windows/input_placeholders.py b/poezio/windows/input_placeholders.py
index 698cee09..4617392e 100644
--- a/poezio/windows/input_placeholders.py
+++ b/poezio/windows/input_placeholders.py
@@ -7,7 +7,7 @@ import logging
log = logging.getLogger(__name__)
-from . import Win
+from poezio.windows import Win
from poezio.theming import get_theme, to_curses_attr
diff --git a/poezio/windows/inputs.py b/poezio/windows/inputs.py
index da7b53d9..51b9f4ea 100644
--- a/poezio/windows/inputs.py
+++ b/poezio/windows/inputs.py
@@ -11,9 +11,9 @@ import string
from poezio import keyboard
from poezio import common
from poezio import poopt
-from . import Win
-from . base_wins import format_chars
-from . funcs import find_first_format_char
+from poezio.windows import Win
+from poezio.windows.base_wins import format_chars
+from poezio.windows.funcs import find_first_format_char
from poezio.config import config
from poezio.theming import to_curses_attr
diff --git a/poezio/windows/list.py b/poezio/windows/list.py
index 8e879c85..64d6a2bf 100644
--- a/poezio/windows/list.py
+++ b/poezio/windows/list.py
@@ -7,7 +7,7 @@ log = logging.getLogger(__name__)
import curses
-from . import Win
+from poezio.windows import Win
from poezio.theming import to_curses_attr, get_theme
diff --git a/poezio/windows/misc.py b/poezio/windows/misc.py
index 230c06ad..0b6bd629 100644
--- a/poezio/windows/misc.py
+++ b/poezio/windows/misc.py
@@ -7,7 +7,7 @@ log = logging.getLogger(__name__)
import curses
-from . import Win
+from poezio.windows import Win
from poezio.theming import get_theme, to_curses_attr
class VerticalSeparator(Win):
diff --git a/poezio/windows/muc.py b/poezio/windows/muc.py
index 594c2157..897b9f81 100644
--- a/poezio/windows/muc.py
+++ b/poezio/windows/muc.py
@@ -7,7 +7,7 @@ log = logging.getLogger(__name__)
import curses
-from . import Win
+from poezio.windows import Win
from poezio import poopt
from poezio.config import config
diff --git a/poezio/windows/roster_win.py b/poezio/windows/roster_win.py
index a8d29228..f940963c 100644
--- a/poezio/windows/roster_win.py
+++ b/poezio/windows/roster_win.py
@@ -7,7 +7,7 @@ log = logging.getLogger(__name__)
from datetime import datetime
-from . import Win
+from poezio.windows import Win
from poezio import common
from poezio.config import config
diff --git a/poezio/windows/text_win.py b/poezio/windows/text_win.py
index b7186541..c03c08d0 100644
--- a/poezio/windows/text_win.py
+++ b/poezio/windows/text_win.py
@@ -9,9 +9,9 @@ log = logging.getLogger(__name__)
import curses
from math import ceil, log10
-from . import Win
-from . base_wins import FORMAT_CHAR
-from . funcs import truncate_nick, parse_attrs
+from poezio.windows import Win
+from poezio.windows.base_wins import FORMAT_CHAR
+from poezio.windows.funcs import truncate_nick, parse_attrs
from poezio import poopt
from poezio.config import config