def _obtain_weights_path(violation_class, pre_trained_model,
    nb_of_conv_layers_to_fine_tune, include_top):
    """Obtains the polished filenames for the weights of a trained Keras model.

        # Arguments
            violation_class: violation_class: one of `cl` (HRA dataset with 2 classes - [i]'child_labour' and [ii]'no violation')
                or `dp` (HRA dataset with 2 classes - [i]'displaced_populations' and [ii]'no violation').
            pre_trained_model: 'One of `vgg16`, `vgg19`, `resnet50` or `vgg16_places365`.
            nb_of_conv_layers_to_fine_tune: integer to indicate the number of convolutional
                layers to fine-tune. One of `1`, `2` or `3`.
            include_top: whether to include the 3 fully-connected layers at the top of the network.

        # Returns
            Two strings that will serve as the original URL of the file (origin) and name of the file (fname) for loading the weights.
        """
    github_repo = 'https://github.com/GKalliatakis/ubiquitous-assets/releases'
    if nb_of_conv_layers_to_fine_tune == None:
        fname = (violation_class + '_' + pre_trained_model +
            '_weights_feature_extraction_tf_dim_ordering_tf_kernels.h5')
    elif nb_of_conv_layers_to_fine_tune == 1:
        if include_top:
            fname = (violation_class + '_' + pre_trained_model +
                '_weights_one_layer_tf_dim_ordering_tf_kernels.h5')
        else:
            fname = (violation_class + '_' + pre_trained_model +
                '_weights_one_layer_tf_dim_ordering_tf_kernels_notop.h5')
    elif nb_of_conv_layers_to_fine_tune == 2:
        if include_top:
            fname = (violation_class + '_' + pre_trained_model +
                '_weights_two_layers_tf_dim_ordering_tf_kernels.h5')
        else:
            fname = (violation_class + '_' + pre_trained_model +
                '_weights_two_layers_tf_dim_ordering_tf_kernels_notop.h5')
    elif nb_of_conv_layers_to_fine_tune == 3:
        if include_top:
            fname = (violation_class + '_' + pre_trained_model +
                '_weights_three_layers_tf_dim_ordering_tf_kernels.h5')
        else:
            fname = (violation_class + '_' + pre_trained_model +
                '_weights_three_layers_tf_dim_ordering_tf_kernels_notop.h5')
    if nb_of_conv_layers_to_fine_tune == None:
        origin = github_repo + '/download/v0.1.1/' + fname
    else:
        origin = github_repo + '/download/v0.1.2/' + fname
    return origin, fname
