Note 17 - Earnings Per Share (Tables)
   | 
6 Months Ended | 
May 31, 2022  | 
| Notes Tables | 
 
 | 
| Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block] | 
    
|   | 
  | 
  For the Three Months Ended   | 
  | 
  | 
  For the Six Months Ended   | 
  | 
 
|   | 
  | 
  May 31,   | 
  | 
  | 
  May 31,   | 
  | 
 
|   | 
  | 
  2022   | 
  | 
  | 
  2022   | 
  | 
 
|   Stock Options   | 
  | 
  | 
320,533 | 
  | 
  | 
  | 
320,533 | 
  | 
 
|   Restricted stock units   | 
  | 
  | 
787,122 | 
  | 
  | 
  | 
787,122 | 
  | 
 
|   Total   | 
  | 
  | 
1,107,655 | 
  | 
  | 
  | 
1,107,655 | 
  | 
 
 
    
|   | 
  | 
  For the Three Months Ended   | 
  | 
  | 
  For the Six Months Ended   | 
  | 
 
|   | 
  | 
  May 31, 2021   | 
  | 
  | 
  May 31, 2021   | 
  | 
 
|   Antidilutive securities:   | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
 
|   Options   | 
  | 
  | 
638,000 | 
  | 
  | 
  | 
518,000 | 
  | 
 
|   RSUs   | 
  | 
  | 
50,000 | 
  | 
  | 
  | 
68,493 | 
  | 
 
|   Total antidilutive securities   | 
  | 
  | 
688,000 | 
  | 
  | 
  | 
586,493 | 
  | 
 
 
   
 | 
| Schedule of Earnings Per Share, Basic, by Common Class, Including Two Class Method [Table Text Block] | 
    
|   | 
  | 
  For the Three Months Ended   | 
  | 
  | 
  For the Six Months Ended   | 
  | 
 
|   | 
  | 
  May 31,   | 
  | 
  | 
  May 31,   | 
  | 
 
|   | 
  | 
  2022   | 
  | 
  | 
  2021   | 
  | 
  | 
  2022   | 
  | 
  | 
  2021   | 
  | 
 
|   Net income (loss)   | 
  | 
$ | 
(2,996 | 
) | 
  | 
$ | 
2,037 | 
  | 
  | 
$ | 
(6,217 | 
) | 
  | 
$ | 
1,765 | 
  | 
 
|   Preferred stock dividends   | 
  | 
  | 
— | 
  | 
  | 
  | 
(1,043 | 
) | 
  | 
  | 
— | 
  | 
  | 
  | 
(1,043 | 
) | 
 
|   Net loss available to common shareholders   | 
  | 
$ | 
(2,996 | 
) | 
  | 
$ | 
994 | 
  | 
  | 
$ | 
(6,217 | 
) | 
  | 
$ | 
722 | 
  | 
 
|   | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
 
|   Weighted-average number of shares used in computing net loss per share, basic   | 
  | 
  | 
23,097,150 | 
  | 
  | 
  | 
17,800,749 | 
  | 
  | 
  | 
23,443,766 | 
  | 
  | 
  | 
16,359,496 | 
  | 
 
|   Net income (loss) per share -- basic   | 
  | 
$ | 
(0.13 | 
) | 
  | 
$ | 
0.06 | 
  | 
  | 
$ | 
(0.27 | 
) | 
  | 
$ | 
0.04 | 
  | 
 
|   Weighted-average number of shares used in computing net income per share, diluted   | 
  | 
  | 
23,097,150 | 
  | 
  | 
  | 
18,989,231 | 
  | 
  | 
  | 
23,443,766 | 
  | 
  | 
  | 
17,604,131 | 
  | 
 
|   Net income per share -- diluted   | 
  | 
$ | 
(0.13 | 
) | 
  | 
$ | 
0.05 | 
  | 
  | 
$ | 
(0.27 | 
) | 
  | 
$ | 
0.04 | 
  | 
 
 
   
 | 
| Schedule of Weighted Average Number of Shares [Table Text Block] | 
    
|   | 
  | 
  For the Three Months Ended   | 
  | 
  | 
  For the Six Months Ended   | 
  | 
 
|   | 
  | 
  May 31,   | 
  | 
  | 
  May 31,   | 
  | 
 
|   | 
  | 
  2022   | 
  | 
  | 
  2021   | 
  | 
  | 
  2022   | 
  | 
  | 
  2021   | 
  | 
 
|   Weighted-average common shares outstanding- basic   | 
  | 
  | 
23,097,150 | 
  | 
  | 
  | 
17,800,749 | 
  | 
  | 
  | 
23,443,766 | 
  | 
  | 
  | 
16,359,496 | 
  | 
 
|   Assumed conversion of:   | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
 
|   Dilutive Stock Options   | 
  | 
  | 
— | 
  | 
  | 
  | 
597,214 | 
  | 
  | 
  | 
— | 
  | 
  | 
  | 
600,918 | 
  | 
 
|   Dilutive Warrants   | 
  | 
  | 
— | 
  | 
  | 
  | 
304,883 | 
  | 
  | 
  | 
— | 
  | 
  | 
  | 
399,332 | 
  | 
 
|   Dilutive RSUs   | 
  | 
  | 
— | 
  | 
  | 
  | 
286,385 | 
  | 
  | 
  | 
— | 
  | 
  | 
  | 
244,385 | 
  | 
 
|   Weighted-average common share outstanding- diluted   | 
  | 
  | 
23,097,150 | 
  | 
  | 
  | 
18,989,231 | 
  | 
  | 
  | 
23,443,766 | 
  | 
  | 
  | 
17,604,131 | 
  | 
 
 
   
 |