Cómo limpiar los comentarios del archivo sql sin procesar

Tengo problemas con la limpieza de comentarios y líneas vacías del archivo sql ya existente. El archivo tiene más de 10k líneas, por lo que limpiarlo manualmente no es una opción.

Tengo un pequeño script de Python, pero no tengo idea de cómo manejar los comentarios dentro de las inserciones de varias líneas.

Código
f = file( 'file.sql', 'r' )
t = filter( lambda x: not x.startswith('--') \
            and not x.isspace() 
  , f.readlines() )
f.close()
t #<- here the cleaned data should be
Cómo debería funcionar:

Esto debe limpiarse:

-- normal sql comment

Esto debería permanecer como está:

CREATE FUNCTION func1(a integer) RETURNS void
    LANGUAGE plpgsql
    AS $
BEGIN
        -- comment
       [...]
END;
$;

INSERT INTO public.texts (multilinetext) VALUES ('
and more lines here \'
-- part of text 
\'
[...]

');

Respuestas a la pregunta(5)

Su respuesta a la pregunta