Magnetic Bloch Functions and Diophantine Equation

I'm trying to understand the paper by Dana, Avron, and Zak [1] in which they prove the Diophantine equation for Hall Conductivity for an arbitrary periodic Hamiltonian using just magnetic translation symmetry.

They consider a periodic system with lattice vectors $\mathbf{a},\mathbf{b}$ and a magnetic flux of $\phi = 2\pi p / q$ per plaquette. The commuting magnetic translation operators are given by $T(q\mathbf{a})$ and $T(\mathbf{b})$ (so the magnetic unit cell contains q lattice unit cells in the $\mathbf{a}$ direction). The magnetic translation operators commute with each other and the Hamiltonian and so the eigenstates can be written as $\Psi = \psi_{k_1,k_2}e^{i\mathbf{k}\cdot\mathbf{r}}$ where $\psi_{k_1,k_2}$ are the magnetic Bloch functions.

The part of the paper I am unsure about is that they claim that the phases of the magnetic Bloch functions can be chosen so that they satisfy the following periodicity conditions: $$\psi_{k_1 + 2\pi/qa,k_2} = \psi_{k_1,k_2} \\ \psi_{k_1,k_2+2\pi/b} = \exp(i\sigma k_1 q a) \psi_{k_1,k_2}$$ where $\sigma$ is an integer (and turns out to be the Chern number of the band following TKNN). My question is: how does one show this?

In the paper they say that this can be shown using arguments similar to Weinreich's book (Solids: Elementary Theory for Advanced Students). I think they are referring to section 8.3 in which he shows that Bloch functions (in the absence of a magnetic field) are periodic in quasi-momentum $\mathbf{k}$. He shows this by writing the eigenstate in Bloch form as $\Psi(\mathbf{r}) = \psi_{\mathbf{k}}(\mathbf{\rho})e^{i\mathbf{k}\cdot\mathbf{R}}$ where $\mathbf{r} = \mathbf{\rho} + \mathbf{R}$ and $\mathbf{R}$ is a lattice vector while $\mathbf{\rho}$ is a vector in the proximity/unit cell. Since $\Psi$ is an eigenfunction of the translation operator, it follows that if $\mathbf{\sigma}$ and $\mathbf{\sigma}'$ are vectors at the edges of the unit cell such that they differ by a lattice vector $\mathbf{R}_\sigma$ (i.e. $\mathbf{\sigma}' = \mathbf{\sigma} + \mathbf{R}_\sigma$) then $$\psi_{\mathbf{k}}(\sigma') = \psi_{\mathbf{k}}(\sigma) e^{i\mathbf{k}\cdot \mathbf{R}_\sigma}$$ which is a boundary condition for $\psi_{\mathbf{k}}$. If one considers another wave-vector $\mathbf{k}' = \mathbf{k} + \mathbf{G}$ where $\mathbf{G}$ is a reciprocal lattice vector, then we have that $e^{i\mathbf{k}\cdot \mathbf{R}_\sigma} = e^{i\mathbf{k}' \cdot \mathbf{R}_\sigma}$ and so $\psi_{\mathbf{k}'}$ obeys the same BC as $\psi_{\mathbf{k}}$: $$\psi_{\mathbf{k}'}(\sigma') = \psi_{\mathbf{k}'}(\sigma) e^{i\mathbf{k}\cdot \mathbf{R}_\sigma}$$. Since they obey the same Schroedinger equation and BC, one can always choose the same phase conventions for $\psi_{\mathbf{k}}$ and $\psi_{\mathbf{k}'}$ such that $\psi_{\mathbf{k}}$ is periodic in $\mathbf{k}$.

In order to apply this to the case with magnetic translation symmetry, it seems like I just need to consider the corresponding BC coming from the magnetic translation operators. If I do that however, the above BC would be modified by a position-dependent phase factor and I don't see how I can massage those into the form that appear in the Dana, Avron, Zak paper which have a momentum-dependent phase factor.

Any help would be much appreciated.

[1] I. Dana, Y. Avron, and J. Zak, Journal of Physics C: Solid State Physics 18, L679 (1985)